Skip to content

feat(rename): Allow RPCs, fields, reference sites to be renamed with … #315

feat(rename): Allow RPCs, fields, reference sites to be renamed with …

feat(rename): Allow RPCs, fields, reference sites to be renamed with … #315

Workflow file for this run

name: Build and Test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Run CI in Dev Container
uses: devcontainers/ci@v0.3
with:
imageName: ghcr.io/${{ github.repository }}/devcontainer
cacheFrom: ghcr.io/${{ github.repository }}/devcontainer
push: never
runCmd: |
export CARGO_TERM_COLOR=always &&
echo "::group::Check formatting" && cargo fmt --all -- --check && echo "::endgroup::" &&
echo "::group::Build" && cargo build --verbose && echo "::endgroup::" &&
echo "::group::Run tests" && cargo test --verbose && echo "::endgroup::" &&
echo "::group::Run lints" && cargo clippy --all-targets -- -D warnings
test-cross-platform:
name: Test on ${{ matrix.target }} (${{ matrix.os }})
needs:
- build
strategy:
fail-fast: false
matrix:
include:
# Linux (Standard & ARM)
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
# macOS (Intel & Apple Silicon)
- target: x86_64-apple-darwin
os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
# Windows
- target: x86_64-pc-windows-msvc
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Install Linker (Linux ARM)
if: matrix.target == 'aarch64-unknown-linux-gnu'
run: |
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
gcc-aarch64-linux-gnu \
libc6-dev-arm64-cross
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
- name: Build Binary
run: cargo build --verbose --target ${{ matrix.target }}
- name: Run Tests
# We only run tests if the target matches the runner's native architecture
# to avoid execution errors on cross-compiled binaries.
if: contains(matrix.target, 'x86_64') || (contains(matrix.target, 'aarch64') && contains(matrix.os, 'macos'))
run: cargo test --verbose --target ${{ matrix.target }}