Repository navigation
feat: run the steps of another architecture through the host's qemu-user-static #275
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
| name: ci | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| # lets the codecov upload authenticate through oidc, without a secret | |
| id-token: write | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| - uses: extractions/setup-just@v4 | |
| # just docs builds the documentation site | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: mdbook | |
| # install only, `just lint` runs it so that ci and the hooks agree | |
| - uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.14.0 | |
| install-only: true | |
| # just test-cli runs the built miso from the outside | |
| - uses: bats-core/bats-action@4.0.0 | |
| with: | |
| bats-version: 1.14.0 | |
| support-install: false | |
| assert-install: false | |
| detik-install: false | |
| file-install: false | |
| # the qemu tests claim a CID on the host's real vsock device, which the | |
| # runner neither loads nor opens to its user | |
| - name: open the vsock device | |
| run: | | |
| sudo modprobe vhost_vsock | |
| sudo chmod o+rw /dev/vhost-vsock | |
| - run: just ci | |
| - name: upload coverage to codecov | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| use_oidc: true | |
| files: ./coverage.out | |
| flags: unit | |
| # miso must also behave on arm64 hosts, which the amd64 runner cannot show | |
| arm64: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| - uses: extractions/setup-just@v4 | |
| # just test-cli runs the built miso from the outside | |
| - uses: bats-core/bats-action@4.0.0 | |
| with: | |
| bats-version: 1.14.0 | |
| support-install: false | |
| assert-install: false | |
| detik-install: false | |
| file-install: false | |
| # the qemu tests claim a CID on the host's real vsock device | |
| - name: open the vsock device | |
| run: | | |
| sudo modprobe vhost_vsock | |
| sudo chmod o+rw /dev/vhost-vsock | |
| - run: just test test-cli |