Skip to content

Update dependency jdx/mise to v2026.2.13 (#417) #1498

Update dependency jdx/mise to v2026.2.13 (#417)

Update dependency jdx/mise to v2026.2.13 (#417) #1498

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
schedule:
# Run every Monday at 00:30 UTC
- cron: "30 0 * * 1"
workflow_dispatch:
permissions:
contents: read
concurrency:
# For pull requests, use PR identifier as group. For main branch, use unique identifier.
# -> PRs cancel in progress runs. Main executions run concurrently.
group: ${{ github.workflow }}-${{ github.ref_name == 'main' && github.run_id || github.ref_name }}
cancel-in-progress: true
jobs:
# Mise cache prepare
mise-cache-macos:
uses: ./.github/workflows/mise-prepare-cache.yaml
with:
runner: macos-15
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-mise-root-macos
mise-cache-ubuntu:
uses: ./.github/workflows/mise-prepare-cache.yaml
with:
runner: ubuntu-24.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-mise-root-ubuntu
# uv cache prepare for aoc-main
uv-cache-aoc-main-macos:
needs: mise-cache-macos
uses: ./.github/workflows/mise-uv-prepare-cache.yaml
with:
directory: aoc-main
runner: macos-15
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-uv-aoc-main-macos
uv-cache-aoc-main-ubuntu:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-uv-prepare-cache.yaml
with:
directory: aoc-main
runner: ubuntu-24.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-uv-aoc-main-ubuntu
# Homebrew cache prepare
homebrew-cache-macos:
uses: ./.github/workflows/homebrew-prepare-cache.yaml
with:
runner: macos-15
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-homebrew-macos
homebrew-cache-ubuntu:
uses: ./.github/workflows/homebrew-prepare-cache.yaml
with:
runner: ubuntu-24.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-homebrew-ubuntu
# Checks for root
check-prettier:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:prettier
check-ruff:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:ruff
check-ruff-format:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:ruff:format
check-shellcheck:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:shellcheck
check-shellcheck-config-enabled-optional-checks:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:shellcheck-config-enabled-optional-checks
check-shellcheck-gha:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:shellcheck-gha
check-shfmt:
needs: mise-cache-ubuntu
uses: ./.github/workflows/mise-task.yaml
with:
directory: .
task: check:shfmt
# CI workflows for projects in the repository
ci-aoc-main:
needs:
- mise-cache-ubuntu
- uv-cache-aoc-main-ubuntu
uses: ./.github/workflows/ci-python-project.yaml
with:
directory: aoc-main
# CI for C++ solvers
ci-solvers-cpp:
needs:
- homebrew-cache-macos
- homebrew-cache-ubuntu
- mise-cache-macos
- mise-cache-ubuntu
- uv-cache-aoc-main-macos
- uv-cache-aoc-main-ubuntu
uses: ./.github/workflows/ci-solvers-cpp.yaml
secrets: inherit
with:
homebrew-downloads-hash-from-prepare-macos: ${{ needs.homebrew-cache-macos.outputs.downloads-hash }}
homebrew-downloads-hash-from-prepare-ubuntu: ${{ needs.homebrew-cache-ubuntu.outputs.downloads-hash }}
# CI for Python solvers
ci-solvers-python:
needs:
- mise-cache-ubuntu
- uv-cache-aoc-main-ubuntu
uses: ./.github/workflows/ci-python-project.yaml
secrets: inherit
with:
directory: solvers/python
# CI for Rust solvers
ci-solvers-rust:
needs:
- mise-cache-macos
- mise-cache-ubuntu
- uv-cache-aoc-main-macos
- uv-cache-aoc-main-ubuntu
uses: ./.github/workflows/ci-solvers-rust.yaml
secrets: inherit
# Check for all green CI
check:
if: always()
needs:
- check-prettier
- check-ruff
- check-ruff-format
- check-shellcheck
- check-shellcheck-config-enabled-optional-checks
- check-shellcheck-gha
- check-shfmt
- ci-aoc-main
- ci-solvers-cpp
- ci-solvers-python
- ci-solvers-rust
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
jobs: ${{ toJSON(needs) }}