Create classroom.yml
This commit is contained in:
parent
38c31bcd44
commit
ec371fa260
|
@ -0,0 +1,64 @@
|
|||
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
|
||||
- name: Install Riscv Toolchain
|
||||
run: |
|
||||
cd /usr/local
|
||||
sudo wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.08/riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz
|
||||
sudo tar xzf riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz
|
||||
sudo mv riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14 riscv64-unknown-elf-gcc
|
||||
sudo wget -O riscv64-linux-musl-cross.tgz https://cloud.tsinghua.edu.cn/f/b07bac9bcfa14f1dae66/?dl=1
|
||||
sudo tar xzf riscv64-linux-musl-cross.tgz
|
||||
- name: Config Riscv Path
|
||||
run: |
|
||||
sudo ln -s /usr/local/riscv64-unknown-elf-gcc/bin/* /usr/bin
|
||||
sudo ln -s /usr/local/riscv64-linux-musl-cross/bin/* /usr/bin
|
||||
- name: Install compile env
|
||||
run: |
|
||||
sudo apt install -y cmake
|
||||
sudo apt update -y
|
||||
sudo apt upgrade -y
|
||||
sudo apt install -y autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
|
||||
gawk build-essential bison flex texinfo gperf libtool patchutils bc \
|
||||
zlib1g-dev libexpat-dev pkg-config libglib2.0-dev libpixman-1-dev git tmux python3
|
||||
- name: Cache QEMU
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: qemu-5.0.0
|
||||
key: qemu-5.0.0-x86_64-riscv64
|
||||
- name: Install QEMU
|
||||
run: |
|
||||
if [ ! -d qemu-5.0.0 ]; then
|
||||
sudo wget https://download.qemu.org/qemu-5.0.0.tar.xz
|
||||
sudo tar xJf qemu-5.0.0.tar.xz
|
||||
cd qemu-5.0.0
|
||||
sudo ./configure --target-list=riscv64-softmmu,riscv64-linux-user
|
||||
sudo make -j$(nproc)
|
||||
else
|
||||
cd qemu-5.0.0
|
||||
fi
|
||||
sudo make install
|
||||
qemu-system-riscv64 --version
|
||||
- name: Config Path
|
||||
run: |
|
||||
sudo touch /home/.bashrc
|
||||
sudo chmod 777 /home/.bashrc
|
||||
sudo echo "export PATH=\"qemu-5.0.0:\$PATH\"" >> /home/.bashrc
|
||||
sudo echo "export PATH=\"qemu-5.0.0/riscv64-softmmu:\$PATH\"" >> /home/.bashrc
|
||||
sudo echo "export PATH=\"qemu-5.0.0/riscv64-linux-user:\$PATH\"" >> /home/.bashrc
|
||||
source /home/.bashrc
|
||||
qemu-system-riscv64 --version
|
||||
qemu-riscv64 --version
|
||||
- uses: education/autograding@v1
|
Loading…
Reference in New Issue