From 7ec45cebf659e193ecd1ab2a945e3e40fc2c750e Mon Sep 17 00:00:00 2001 From: Andrei Durlea Date: Tue, 5 May 2026 01:20:42 +0300 Subject: [PATCH] ci: Change CI to be multiplatform ubuntu, windows, macos --- .github/workflows/beman-tidy.yml | 22 ++++++++++++++++++---- .github/workflows/run-on-exemplar.yml | 15 +++++++++++---- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/beman-tidy.yml b/.github/workflows/beman-tidy.yml index d39f36b..bb13a2e 100644 --- a/.github/workflows/beman-tidy.yml +++ b/.github/workflows/beman-tidy.yml @@ -34,8 +34,15 @@ jobs: uv run ruff check --diff run_tests: - name: Run Tests - runs-on: ubuntu-latest + name: Run Tests (${{ matrix.os }}) + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash steps: - name: Checkout code uses: actions/checkout@v5 @@ -54,8 +61,15 @@ jobs: uv run pytest tests/ -v build_and_install: - name: Build and Install - runs-on: ubuntu-latest + name: Build and Install (${{ matrix.os }}) + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash steps: - name: Checkout code uses: actions/checkout@v5 diff --git a/.github/workflows/run-on-exemplar.yml b/.github/workflows/run-on-exemplar.yml index 562bcbd..4d75372 100644 --- a/.github/workflows/run-on-exemplar.yml +++ b/.github/workflows/run-on-exemplar.yml @@ -14,8 +14,15 @@ on: jobs: run_on_exemplar: - name: Run on beman.exemplar - runs-on: ubuntu-latest + name: Run on beman.exemplar (${{ matrix.os }}) + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash steps: - name: Checkout code uses: actions/checkout@v5 @@ -37,9 +44,9 @@ jobs: cd exemplar_repo git config user.email "actions@github.com" git config user.name "GitHub Actions" - ./stamp.sh project_name="cookiecutter_test" description="Test project" --no-input + bash ./stamp.sh project_name="cookiecutter_test" description="Test project" --no-input git remote remove origin - sed -i '/disabled_rules:/a \ - release.godbolt_trunk_version\n - readme.implements' .beman-tidy.yaml + python -c "import sys; lines = open('.beman-tidy.yaml').readlines(); f = open('.beman-tidy.yaml', 'w'); [f.write(l + ' - release.godbolt_trunk_version\n - readme.implements\n' if 'disabled_rules:' in l else l) for l in lines]; f.close()" cd .. mv exemplar_repo cookiecutter_test cd cookiecutter_test