name: Test Template
on:
workflow_call:
inputs:
arch:
type: string
required: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: "recursive"
- uses: Swatinem/rust-cache@v2
with:
shared-key: test
cache-targets: false
- uses: arceos-org/setup-musl@v1
with:
arch: ${{ inputs.arch }}
- name: Build
run: make ARCH=${{ inputs.arch }} build
- uses: actions/upload-artifact@v5
with:
name: starry-${{ inputs.arch }}
path: |
*.bin
*.elf
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
with:
submodules: "recursive"
- uses: Swatinem/rust-cache@v2
with:
shared-key: test
cache-targets: false
- name: Setup QEMU
uses: arceos-org/setup-qemu@v1
with:
version: 10.1.0
arch_list: ${{ inputs.arch }}
- name: Download build artifact
uses: actions/download-artifact@v6
with:
name: starry-${{ inputs.arch }}
- name: Prepare rootfs
run: |
make ARCH=${{ inputs.arch }} img
- name: Test
run: scripts/ci-test.py ${{ inputs.arch }}