Skip to content

ci: Add missing platform targets and modernize GitHub Actions workflows#222

Open
oguzhane wants to merge 4 commits intostr4d:mainfrom
oguzhane:main
Open

ci: Add missing platform targets and modernize GitHub Actions workflows#222
oguzhane wants to merge 4 commits intostr4d:mainfrom
oguzhane:main

Conversation

@oguzhane
Copy link
Copy Markdown

@oguzhane oguzhane commented Apr 4, 2026

Summary

Expands platform coverage across CI and release pipelines, and modernizes all GitHub Actions workflows.

New Platforms

Release pipeline (release.yml)

Platform Runner / Method Archive suffix
linux-aarch64 ubuntu-24.04-arm (native) aarch64-linux.tar.gz
linux-armv7 ubuntu-latest (cross-compile) armv7-linux.tar.gz
windows-aarch64 windows-latest (cross-compile) aarch64-windows.zip
  • Debian packages now also built for linux-aarch64
  • Fixed macos-x86_64 to explicitly cross-compile with --target x86_64-apple-darwin (previously built for host arch, which is now ARM64 on macos-latest)

CI pipeline (ci.yml)

  • Added linux-aarch64 (ubuntu-24.04-arm) to both test-msrv and test-latest jobs

Workflow Modernization

Deprecated action upgrades

  • actions/checkout@v4@v5 (all workflows)
  • actions-rs/cargo@v1 → direct cargo commands (unmaintained, Node.js 20)
  • actions-rs/clippy-check@v1 → direct cargo clippy (unmaintained, Node.js 20)
  • codecov-action@v4.5.0@v5

Performance & reliability

  • Added Swatinem/rust-cache@v2 to all build/test jobs
  • Added fail-fast: false to all matrix strategies
  • Added workflow_dispatch trigger to CI for manual runs

Security & housekeeping

  • Added permissions blocks (least-privilege contents: read / contents: write)
  • Added concurrency groups with cancel-in-progress: true to all workflows
  • Removed dead cargo_config steps (unused by any matrix entry)
  • Removed duplicate dtolnay/rust-toolchain@stable in test-latest
  • Updated deprecated ubuntu-20.04 runners to ubuntu-latest

Cross-compilation details

linux-armv7: Sets up multiarch APT sources (handles both DEB822 and traditional formats), installs gcc-arm-linux-gnueabihf and libpcsclite-dev:armhf, configures cargo linker.

Verification

Successful workflow run on fork: https://github.com/oguzhane/age-plugin-yubikey/actions/runs/23984355730

oguzhane added 4 commits April 4, 2026 20:12
Allow manual triggering of the CI workflow via GitHub Actions UI
by adding the `workflow_dispatch` event trigger.
…pdated actions

- Add concurrency groups to cancel in-progress runs on new pushes
- Add explicit permissions (contents: read) for security
- Upgrade actions/checkout from v4 to v5
- Upgrade codecov/codecov-action from v4.5.0 to v5
- Add Swatinem/rust-cache@v2 for Rust dependency caching
- Set fail-fast: false on test matrix strategies
- Replace deprecated actions-rs/clippy-check with direct cargo clippy
- Remove duplicate dtolnay/rust-toolchain@stable step in test-latest
- Add clippy component explicitly to beta toolchain
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