Skip to content

feat: run the steps of another architecture through the host's qemu-user-static #275

feat: run the steps of another architecture through the host's qemu-user-static

feat: run the steps of another architecture through the host's qemu-user-static #275

Workflow file for this run

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