name: Static Analysis -- Golang run-name: 'Static Analysis -- Golang -- ${{ gitea.repository }} ${{ gitea.ref_name }} ${{ gitea.sha }}' on: push: branches: - '*' paths: - '**/*.go' jobs: static-go: runs-on: ubuntu-latest steps: - name: Check Out Repository uses: actions/checkout@v4 with: submodules: 'true' - name: Initialize Runner uses: actions/setup-go@v7 with: go-version-file: 'go.mod' - name: Check and Run `make workflow-init` run: | if [ ! -f Makefile ]; then echo "No Makefile found in root directory. Skipping." exit 0 fi if make -n workflow-init >/dev/null 2>&1; then echo "Target 'workflow-init' found. Running make workflow-init..." make workflow-init else echo "Target 'workflow-init' does not exist in Makefile. Skipping." fi - name: Initialize Go run: go get . - name: Run Go Vet id: static-govet if: always() run: go vet ./... - name: Verify Static Analysis if: > steps.static-govet.outcome != 'success' run: exit 1