From 6984481fcedde7304cc75ba07dc6a136187fc1eb Mon Sep 17 00:00:00 2001 From: Ammar Bandukwala Date: Wed, 20 Jul 2022 16:27:04 +0000 Subject: [PATCH 1/2] ci: skip long jobs when only docs change Resolves #3058 --- .github/workflows/coder.yaml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coder.yaml b/.github/workflows/coder.yaml index 729c5cdbf5602..274883cf5ea3e 100644 --- a/.github/workflows/coder.yaml +++ b/.github/workflows/coder.yaml @@ -30,9 +30,24 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: + changes: + runs-on: ubuntu-latest + outputs: + docs-only: ${{ steps.filter.outputs.docs_count == steps.filter.outputs.all_count }} + steps: + # For pull requests it's not necessary to checkout the code + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + all: + - '**'' + docs: + - 'docs/**' style-lint-golangci: name: style/lint/golangci timeout-minutes: 5 + if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -48,6 +63,7 @@ jobs: name: style/lint/shellcheck timeout-minutes: 5 runs-on: ubuntu-latest + if: ${{ needs.changes.outputs.docs_only }} steps: - uses: actions/checkout@v3 - name: Run ShellCheck @@ -60,6 +76,7 @@ jobs: style-lint-typescript: name: "style/lint/typescript" timeout-minutes: 5 + if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest steps: - name: Checkout @@ -87,6 +104,7 @@ jobs: name: "style/gen" timeout-minutes: 5 runs-on: ubuntu-latest + if: ${{ needs.changes.outputs.docs_only }} steps: - uses: actions/checkout@v3 @@ -122,6 +140,7 @@ jobs: style-fmt: name: "style/fmt" + if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 5 steps: @@ -154,6 +173,7 @@ jobs: test-go: name: "test/go" + if: ${{ needs.changes.outputs.docs_only }} runs-on: ${{ matrix.os }} timeout-minutes: 20 strategy: @@ -227,6 +247,7 @@ jobs: test-go-postgres: name: "test/go/postgres" + if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 20 steps: @@ -291,7 +312,9 @@ jobs: name: "deploy" runs-on: ubuntu-latest timeout-minutes: 30 - if: github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork + if: | + github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork + && !needs.changes.outputs.docs_only permissions: contents: read id-token: write @@ -397,6 +420,7 @@ jobs: test-js: name: "test/js" + if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 20 steps: From fec285c7dd4361a1a3ff134ff4d23d91bbd9d586 Mon Sep 17 00:00:00 2001 From: Ammar Bandukwala Date: Wed, 20 Jul 2022 16:31:41 +0000 Subject: [PATCH 2/2] use kyle's method --- .github/workflows/coder.yaml | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/.github/workflows/coder.yaml b/.github/workflows/coder.yaml index 274883cf5ea3e..65622f5e2b13c 100644 --- a/.github/workflows/coder.yaml +++ b/.github/workflows/coder.yaml @@ -6,6 +6,8 @@ on: - main tags: - "*" + paths-ignore: + - "docs/**" pull_request: @@ -30,24 +32,9 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: - changes: - runs-on: ubuntu-latest - outputs: - docs-only: ${{ steps.filter.outputs.docs_count == steps.filter.outputs.all_count }} - steps: - # For pull requests it's not necessary to checkout the code - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - all: - - '**'' - docs: - - 'docs/**' style-lint-golangci: name: style/lint/golangci timeout-minutes: 5 - if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -63,7 +50,6 @@ jobs: name: style/lint/shellcheck timeout-minutes: 5 runs-on: ubuntu-latest - if: ${{ needs.changes.outputs.docs_only }} steps: - uses: actions/checkout@v3 - name: Run ShellCheck @@ -76,7 +62,6 @@ jobs: style-lint-typescript: name: "style/lint/typescript" timeout-minutes: 5 - if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest steps: - name: Checkout @@ -104,7 +89,6 @@ jobs: name: "style/gen" timeout-minutes: 5 runs-on: ubuntu-latest - if: ${{ needs.changes.outputs.docs_only }} steps: - uses: actions/checkout@v3 @@ -140,7 +124,6 @@ jobs: style-fmt: name: "style/fmt" - if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 5 steps: @@ -173,7 +156,6 @@ jobs: test-go: name: "test/go" - if: ${{ needs.changes.outputs.docs_only }} runs-on: ${{ matrix.os }} timeout-minutes: 20 strategy: @@ -247,7 +229,6 @@ jobs: test-go-postgres: name: "test/go/postgres" - if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 20 steps: @@ -312,9 +293,7 @@ jobs: name: "deploy" runs-on: ubuntu-latest timeout-minutes: 30 - if: | - github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork - && !needs.changes.outputs.docs_only + if: github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork permissions: contents: read id-token: write @@ -420,7 +399,6 @@ jobs: test-js: name: "test/js" - if: ${{ needs.changes.outputs.docs_only }} runs-on: ubuntu-latest timeout-minutes: 20 steps: