diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index d343da197b..08822ca61d 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -18,6 +18,7 @@ on: push: branches: - main + pull_request: jobs: dump-contexts-to-log: @@ -27,7 +28,7 @@ jobs: - uses: ./.github/actions/dump-context format: - name: Run formatter + if: ${{ github.event_name == 'push' }} runs-on: ubuntu-latest container: image: ghcr.io/vdaas/vald/vald-ci-container:nightly @@ -90,3 +91,37 @@ jobs: GITHUB_TOKEN: ${{ secrets.DISPATCH_TOKEN }} API_URL: https://api.github.com/repos/vdaas/vald/pulls BRANCH_NAME: ${{ steps.switch_to_new_branch.outputs.BRANCH_NAME }} + + check-format-diff: + if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false }} + runs-on: ubuntu-latest + container: + image: ghcr.io/vdaas/vald/vald-ci-container:nightly + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.DISPATCH_TOKEN }} + + - name: Set Git config + run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} + + - name: Setup Go environment + uses: ./.github/actions/setup-go + + - name: Run formatter and license.go + run: | + make deps/install + make format + git checkout go.mod go.sum + + - name: Check format difference + continue-on-error: true + run: | + if git diff --quiet --exit-code; then + echo "Nothing updated" + else + echo "Please execute \`make format\` locally." + exit 1 + fi diff --git a/.github/workflows/update-pull-request-and-issue-template.yml b/.github/workflows/update-pull-request-and-issue-template.yml index 6702cf7bc9..4df04e3ae6 100644 --- a/.github/workflows/update-pull-request-and-issue-template.yml +++ b/.github/workflows/update-pull-request-and-issue-template.yml @@ -55,21 +55,12 @@ jobs: git checkout main git checkout -b ${BRANCH_NAME} - GO_VERSION=$(make version/go) - NGT_VERSION=$(make version/ngt) - KUBECTL_VERSION=$(make version/k8s) + make update/template - sed -i -e "s/^- Go Version: .*$/- Go Version: ${GO_VERSION}/" .github/ISSUE_TEMPLATE/bug_report.md - sed -i -e "s/^- Go Version: .*$/- Go Version: ${GO_VERSION}/" .github/ISSUE_TEMPLATE/security_issue_report.md - sed -i -e "s/^- Go Version: .*$/- Go Version: ${GO_VERSION}/" .github/PULL_REQUEST_TEMPLATE.md - - sed -i -e "s/^- NGT Version: .*$/- NGT Version: ${NGT_VERSION}/" .github/ISSUE_TEMPLATE/bug_report.md - sed -i -e "s/^- NGT Version: .*$/- NGT Version: ${NGT_VERSION}/" .github/ISSUE_TEMPLATE/security_issue_report.md - sed -i -e "s/^- NGT Version: .*$/- NGT Version: ${NGT_VERSION}/" .github/PULL_REQUEST_TEMPLATE.md - - sed -i -e "s/^- Kubernetes Version: .*$/- Kubernetes Version: ${KUBECTL_VERSION}/" .github/ISSUE_TEMPLATE/bug_report.md - sed -i -e "s/^- Kubernetes Version: .*$/- Kubernetes Version: ${KUBECTL_VERSION}/" .github/ISSUE_TEMPLATE/security_issue_report.md - sed -i -e "s/^- Kubernetes Version: .*$/- Kubernetes Version: ${KUBECTL_VERSION}/" .github/PULL_REQUEST_TEMPLATE.md + if git diff --quiet --exit-code; then + echo "Nothing updated" + exit 0 + fi git add .github/PULL_REQUEST_TEMPLATE.md .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/security_issue_report.md git commit -S --signoff -m ":robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE" diff --git a/Makefile b/Makefile index d859cef45d..01b35bbec9 100644 --- a/Makefile +++ b/Makefile @@ -388,6 +388,7 @@ update: \ update/libs \ proto/all \ deps \ + update/template \ format \ go/deps diff --git a/Makefile.d/dependencies.mk b/Makefile.d/dependencies.mk index 7f528edc47..da430a2abd 100644 --- a/Makefile.d/dependencies.mk +++ b/Makefile.d/dependencies.mk @@ -172,3 +172,21 @@ update/vald: ## update vald client library made by clojure self version update/valdcli: curl --silent https://api.github.com/repos/vdaas/vald-client-clj/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/VALDCLI_VERSION + +.PHONY: update/template +## update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE +update/template: + $(eval GO_VERSION := $(shell $(MAKE) -s version/go)) + $(eval NGT_VERSION := $(shell $(MAKE) -s version/ngt)) + $(eval KUBECTL_VERSION := $(shell $(MAKE) -s version/k8s)) + sed -i -e "s/^- Go Version: .*$$/- Go Version: $(GO_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/bug_report.md + sed -i -e "s/^- Go Version: .*$$/- Go Version: $(GO_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/security_issue_report.md + sed -i -e "s/^- Go Version: .*$$/- Go Version: $(GO_VERSION)/" $(ROOTDIR)/.github/PULL_REQUEST_TEMPLATE.md + + sed -i -e "s/^- NGT Version: .*$$/- NGT Version: $(NGT_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/bug_report.md + sed -i -e "s/^- NGT Version: .*$$/- NGT Version: $(NGT_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/security_issue_report.md + sed -i -e "s/^- NGT Version: .*$$/- NGT Version: $(NGT_VERSION)/" $(ROOTDIR)/.github/PULL_REQUEST_TEMPLATE.md + + sed -i -e "s/^- Kubernetes Version: .*$$/- Kubernetes Version: $(KUBECTL_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/bug_report.md + sed -i -e "s/^- Kubernetes Version: .*$$/- Kubernetes Version: $(KUBECTL_VERSION)/" $(ROOTDIR)/.github/ISSUE_TEMPLATE/security_issue_report.md + sed -i -e "s/^- Kubernetes Version: .*$$/- Kubernetes Version: $(KUBECTL_VERSION)/" $(ROOTDIR)/.github/PULL_REQUEST_TEMPLATE.md diff --git a/Makefile.d/helm.mk b/Makefile.d/helm.mk index 663a71ed54..9d69b9063e 100644 --- a/Makefile.d/helm.mk +++ b/Makefile.d/helm.mk @@ -29,8 +29,8 @@ helm-docs/install: $(BINDIR)/helm-docs $(BINDIR)/helm-docs: mkdir -p $(BINDIR) cd $(TEMP_DIR) \ - && curl -LO https://github.com/norwoodj/helm-docs/releases/download/v$(HELM_DOCS_VERSION)/helm-docs_$(UNAME)_$(ARCH).tar.gz \ - && tar xzvf helm-docs_$(UNAME)_$(ARCH).tar.gz \ + && curl -LO https://github.com/norwoodj/helm-docs/releases/download/v$(HELM_DOCS_VERSION)/helm-docs_$(HELM_DOCS_VERSION)_$(UNAME)_$(ARCH).tar.gz \ + && tar xzvf helm-docs_$(HELM_DOCS_VERSION)_$(UNAME)_$(ARCH).tar.gz \ && mv helm-docs $(BINDIR)/helm-docs .PHONY: helm/package/vald