ci(github-action): Update action jdx/mise-action (v4.2.3 → v4.2.4) #78
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json | |
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "**.md" | |
| - ".release-please-manifest.json" | |
| pull_request: | |
| branches: | |
| - main | |
| merge_group: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| env: | |
| # renovate: datasource=github-releases depName=helm-unittest/helm-unittest | |
| HELM_UNITTEST_VERSION: "v1.1.2" | |
| jobs: | |
| go-e2e: | |
| if: >- | |
| ${{ github.event_name != 'push' | |
| && !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Go E2E | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Cache Go modules and build | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: | | |
| ~/.cache/go-build | |
| ~/go/pkg/mod | |
| key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} | |
| restore-keys: ${{ runner.os }}-go- | |
| - name: Run e2e tests | |
| run: mise run test-e2e | |
| go-lint: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Go Lint | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Cache Go modules and build | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: | | |
| ~/.cache/go-build | |
| ~/go/pkg/mod | |
| key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} | |
| restore-keys: ${{ runner.os }}-go- | |
| # This cache holds analyzer facts (staticcheck's "does this call | |
| # return?"), so a stale or partial entry does not just cost time -- it | |
| # turns checks like SA5011 into false positives on untouched code. Hence | |
| # the lock file in the key, so a golangci-lint or Go bump starts fresh | |
| # rather than inheriting the previous binary's facts, and no restore-keys: | |
| # a miss must start cold instead of falling back to the newest entry | |
| # under the prefix, which is how one bad entry outlives its own commit. | |
| - name: Cache golangci-lint | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ~/.cache/golangci-lint | |
| key: ${{ runner.os }}-golangci-lint-${{ hashFiles('go.sum', '.golangci.yml', '.mise/mise.lock') }} | |
| - name: Run linter | |
| run: mise run lint | |
| go-test: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Go Test | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Cache Go modules and build | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: | | |
| ~/.cache/go-build | |
| ~/go/pkg/mod | |
| key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} | |
| restore-keys: ${{ runner.os }}-go- | |
| - name: Check go.mod tidiness | |
| run: | | |
| go mod tidy | |
| git diff --exit-code go.mod go.sum | |
| - name: Running Unit Tests | |
| run: mise run test | |
| - name: Running Integration Tests | |
| run: mise run test-integration | |
| go-vulncheck: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Go Vulncheck | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Run govulncheck | |
| run: mise run vulncheck | |
| helm-lint: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Helm Lint | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Run helm lint | |
| run: mise run helm-lint | |
| helm-unittest: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Helm Unittest | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install Mise and required tools | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| experimental: true | |
| install_args: --locked | |
| - name: Run helm unit tests | |
| run: | | |
| helm plugin install https://github.com/helm-unittest/helm-unittest --version "${HELM_UNITTEST_VERSION}" --verify=false | |
| mise run helm-test | |
| - name: Check chart docs are current | |
| run: mise run helm-docs-check | |
| workflow-lint: | |
| if: >- | |
| ${{ !(startsWith(github.head_ref, 'release-please--') | |
| && github.event.pull_request.head.repo.full_name == github.repository) }} | |
| name: Workflow Lint | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Mise | |
| uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4 | |
| with: | |
| install: false | |
| - name: Resolve linter versions | |
| id: tools | |
| run: | | |
| echo "actionlint=$(mise config get tools.actionlint)" >> "$GITHUB_OUTPUT" | |
| echo "zizmor=$(mise config get tools.zizmor)" >> "$GITHUB_OUTPUT" | |
| - name: Lint workflows | |
| uses: home-operations/.github/actions/workflow-lint@69cad1e407df8070dd9cfc3314551e473544014e # workflow-lint-v1.0.3 | |
| with: | |
| actionlint-version: ${{ steps.tools.outputs.actionlint }} | |
| zizmor-version: ${{ steps.tools.outputs.zizmor }} | |
| status: | |
| if: ${{ !cancelled() }} | |
| name: Build Success | |
| needs: | |
| - go-e2e | |
| - go-lint | |
| - go-test | |
| - go-vulncheck | |
| - helm-lint | |
| - helm-unittest | |
| - workflow-lint | |
| runs-on: ubuntu-24.04 | |
| permissions: {} | |
| steps: | |
| # cancelled counts as failed: !cancelled() above still runs this job when | |
| # individual needs were cancelled but the run was not, and a required job | |
| # that never reached a verdict must not clear the merge gate. | |
| - name: Any jobs failed? | |
| if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
| run: | | |
| exit 1 | |
| - name: All jobs passed or skipped? | |
| if: ${{ !(contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }} | |
| run: | | |
| echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}" |