Skip to content

ci(github-action): Update action jdx/mise-action (v4.2.3 → v4.2.4) #78

ci(github-action): Update action jdx/mise-action (v4.2.3 → v4.2.4)

ci(github-action): Update action jdx/mise-action (v4.2.3 → v4.2.4) #78

Workflow file for this run

---
# 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) }}"