name: Mixin on: pull_request: paths: - contrib/mixin/** - dashboard/*.json - .github/workflows/mixin.yml push: branches: - master - next - main paths: - contrib/mixin/** - dashboard/*.json - .github/workflows/mixin.yml workflow_dispatch: permissions: {} concurrency: group: mixin-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: rules: name: Validate mixin rules and dashboard runs-on: ubuntu-26.04 timeout-minutes: 15 permissions: contents: read defaults: run: working-directory: contrib/mixin steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: 'false' - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version-file: go.mod - name: Install and cache pinned mixin tools uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 with: working_directory: contrib/mixin - name: Build dashboard and check generated changes run: mise run check-dashboards - name: Lint dashboard and test rules run: mise run test