diff --git a/.github/workflows/pr_push_checks_go.yaml b/.github/workflows/pr_push_checks_go.yaml index eeba4fee29f..a40ff377962 100644 --- a/.github/workflows/pr_push_checks_go.yaml +++ b/.github/workflows/pr_push_checks_go.yaml @@ -1,12 +1,7 @@ name: Go PR Checks on: - pull_request: - paths: - - '**.go' - - '**.mod' - - '**.sum' - - '.github/workflows/pr_push_checks_go.yaml' + workflow_dispatch: {} concurrency: group: pr-go-${{ github.event.pull_request.number || github.ref }} @@ -23,7 +18,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Setup Go Cache - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: | ~/.cache/go-build @@ -32,7 +27,6 @@ jobs: - uses: actions/setup-go@v4 with: cache: false - go-version: '1.20.5' go-version-file: go.mod - name: Download Go Modules run: go mod download diff --git a/.github/workflows/pr_push_checks_go_cache.yaml b/.github/workflows/pr_push_checks_go_cache.yaml new file mode 100644 index 00000000000..45f77c871e5 --- /dev/null +++ b/.github/workflows/pr_push_checks_go_cache.yaml @@ -0,0 +1,49 @@ +name: Go Cache PR Checks + +on: + push: + paths: + - '**.go' + - '**.mod' + - '**.sum' + - '.github/golangci-lint.yaml' + - '.github/workflows/pr_push_checks_go.yaml' + - '.github/workflows/pr_push_checks_go_cache.yaml' + - '.github/workflows/pr_push_checks_go_lint.yaml' + +concurrency: + group: pr-go-cache-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + testing_matrix: + name: Setup cache + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Go Cache + uses: actions/cache@v3 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: porter-go-${{ hashFiles('**/go.sum') }} + restore-keys: porter-go- + - uses: actions/setup-go@v4 + with: + cache: false + go-version-file: go.mod + - name: Download Go Modules + run: go mod download + - name: Trigger lint workflow + run: | + if [[ -n "$GITHUB_HEAD_REF" ]]; then + branch="$GITHUB_HEAD_REF" + elif [[ -n "$GITHUB_REF_NAME" ]]; then + branch="$GITHUB_REF_NAME" + fi + + gh workflow run pr_push_checks_go_lint.yml -r "$branch" + gh workflow run pr_push_checks_go.yml -r "$branch" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pr_push_checks_go_lint.yaml b/.github/workflows/pr_push_checks_go_lint.yaml index ad10f1d8a13..d6c7e7a1838 100644 --- a/.github/workflows/pr_push_checks_go_lint.yaml +++ b/.github/workflows/pr_push_checks_go_lint.yaml @@ -1,13 +1,7 @@ name: Go Lint PR Checks on: - pull_request: - paths: - - '**.go' - - '**.mod' - - '**.sum' - - '.github/golangci-lint.yaml' - - '.github/workflows/pr_push_checks_go_lint.yaml' + workflow_dispatch: {} concurrency: group: pr-go-lint-${{ github.event.pull_request.number || github.ref }} @@ -18,20 +12,18 @@ jobs: name: Go Linter runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v4 - with: - cache: false - go-version: '1.20.5' - go-version-file: go.mod - uses: actions/checkout@v3 - name: Setup Go Cache - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: | ~/.cache/go-build ~/go/pkg/mod key: porter-go-${{ hashFiles('**/go.sum') }} - restore-keys: porter-go-` + - uses: actions/setup-go@v4 + with: + cache: false + go-version-file: go.mod - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: