mirror of
https://github.com/LearningOS/rust-based-os-comp2022.git
synced 2026-02-08 12:53:34 +08:00
48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
name: GitHub Classroom Workflow
|
|
|
|
on: [push]
|
|
|
|
permissions:
|
|
checks: write
|
|
actions: read
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
name: Autograding
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly-2022-04-11
|
|
components: rust-src, llvm-tools-preview
|
|
target: riscv64gc-unknown-none-elf
|
|
- uses: actions-rs/install@v0.1
|
|
with:
|
|
crate: cargo-binutils
|
|
version: latest
|
|
use-tool-cache: true
|
|
- name: Cache QEMU
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: qemu-7.0.0
|
|
key: qemu-7.0.0-x86_64-riscv64
|
|
- name: Install QEMU
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install ninja-build -y
|
|
if [ ! -d qemu-7.0.0 ]; then
|
|
wget https://download.qemu.org/qemu-7.0.0.tar.xz
|
|
tar -xf qemu-7.0.0.tar.xz
|
|
cd qemu-7.0.0
|
|
./configure --target-list=riscv64-softmmu
|
|
make -j
|
|
else
|
|
cd qemu-7.0.0
|
|
fi
|
|
sudo make install
|
|
qemu-system-riscv64 --version
|
|
- uses: education/autograding@v1
|