Add aarch64 support #184
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # yaml-language-server: $schema=https://json.schemastore.org/github-action.json | |
| name: CI | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_call: | |
| # Cancels old running job if a new one is triggered (e.g. by a push onto the same branch). | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| run-tests: | |
| name: Run tests on ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| hypervisor: ["hyperv-ws2025", "kvm"] | |
| cpu: ["amd"] | |
| config: ["debug"] | |
| runs-on: ${{ fromJson( | |
| format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}", "JobId=cargo-hyperlight-{3}-{4}-{5}"]', | |
| matrix.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', | |
| matrix.hypervisor == 'hyperv-ws2025' && 'win2025' || matrix.hypervisor == 'mshv3' && 'azlinux3-mshv' || matrix.hypervisor, | |
| matrix.cpu, | |
| github.run_id, | |
| github.run_number, | |
| github.run_attempt)) }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: extractions/setup-just@v4 | |
| - name: Install cargo-hyperlight | |
| shell: bash | |
| run: just install | |
| - name: Build guest example | |
| shell: bash | |
| run: just build-guest | |
| - name: Run example | |
| if: runner.arch == 'X64' | |
| shell: bash | |
| run: just run-guest | |
| - name: Build C guest example | |
| shell: bash | |
| run: just build-c-guest | |
| - name: Run C guest example | |
| shell: bash | |
| run: just run-c-guest | |
| - name: Test `new` subcommand | |
| shell: bash | |
| run: just test-new | |
| spelling: | |
| name: Spell check with typos | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Spell Check Repo | |
| uses: crate-ci/typos@master | |
| check: | |
| name: Lint on ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: ["ubuntu-latest", "windows-latest"] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: rustfmt, clippy | |
| - uses: extractions/setup-just@v4 | |
| - name: Setup nightly toolchain | |
| shell: bash | |
| run: rustup toolchain install nightly --component rustfmt # needed to run rustfmt in nightly toolchain | |
| - name: Install cargo-hyperlight | |
| shell: bash | |
| run: just install | |
| - name: Check formatting | |
| shell: bash | |
| run: just fmt | |
| - name: Check clippy | |
| shell: bash | |
| run: just clippy |