Skip to content

ci: migrate to Blacksmith runners#487

Merged
CSRessel merged 2 commits into
mainfrom
chore/blacksmith-runners
May 24, 2026
Merged

ci: migrate to Blacksmith runners#487
CSRessel merged 2 commits into
mainfrom
chore/blacksmith-runners

Conversation

@nori-sessions
Copy link
Copy Markdown
Contributor

@nori-sessions nori-sessions Bot commented May 22, 2026

Summary

  • Migrate macOS builds from GitHub-hosted macos-14 (M1) to Blacksmith blacksmith-6vcpu-macos-15 (M4)
  • Restrict macOS CI checks to push-to-main only — PRs get Linux-only feedback for faster iteration
  • Migrate publish-npm job from ubuntu-24.04 to blacksmith-2vcpu-ubuntu-2404

Part of the org-wide Blacksmith runner migration.

Test plan

  • CI passes on this branch (Linux checks should run)
  • Verify macOS checks are skipped on this PR (expected: skipped status)
  • Next push to main triggers both Linux and macOS checks

CSRessel and others added 2 commits May 22, 2026 16:01
Migrate macOS builds from macos-14 to blacksmith-6vcpu-macos-15 (Apple M4).
Restrict macOS CI to push-to-main only (PRs get Linux-only feedback).
Migrate publish-npm from ubuntu-24.04 to blacksmith-2vcpu-ubuntu-2404.
🤖 Generated with [Nori](https://noriagentic.com)

Co-Authored-By: Nori <contact@tilework.tech>
@CSRessel CSRessel merged commit 633c6f3 into main May 24, 2026
1 check passed
@CSRessel CSRessel deleted the chore/blacksmith-runners branch May 24, 2026 00:17
CSRessel added a commit that referenced this pull request May 24, 2026
## Summary

- Fixes `Unrecognized named-value: 'matrix'` error in `rust-ci.yml`
introduced by #487
- The `matrix` context is not available in job-level `if` conditions in
GitHub Actions — it's only available for `name`, `runs-on`, `env`, and
step-level expressions
- Replaces the static matrix + broken job-level `if` with a dynamic
`fromJSON` matrix that conditionally includes the macOS entry only on
non-PR events

## What changed

**Before (broken):**
```yaml
if: ${{ !matrix.main-only || github.event_name != 'pull_request' }}
strategy:
  matrix:
    include:
      - runner: blacksmith-4vcpu-ubuntu-2404
        main-only: false
      - runner: blacksmith-6vcpu-macos-15
        main-only: true
```

**After (fixed):**
```yaml
strategy:
  matrix:
    include: ${{ github.event_name != 'pull_request'
      && fromJSON('[{linux}, {macos}]')
      || fromJSON('[{linux}]') }}
```

Same behavior: PRs get Linux-only CI, pushes to main get both Linux +
macOS.

## Test plan

- [ ] PR CI triggers Linux checks only (no macOS entry in matrix)
- [ ] Merge to main triggers both Linux + macOS checks

Co-authored-by: Cliff <clifford@tilework.tech>
Co-authored-by: Nori <contact@tilework.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant