-
Notifications
You must be signed in to change notification settings - Fork 25
65 lines (56 loc) · 1.89 KB
/
build.yml
File metadata and controls
65 lines (56 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
name: Build CI
on:
pull_request:
workflow_dispatch:
env:
arm_toolchain_version: 14.2.rel1
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}-${{ matrix.config.os-version }}
strategy:
fail-fast: false
matrix:
config:
- name: Linux (x64)
os: ubuntu
os-version: 22.04
toolchain_arch: x86_64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
submodules: true
- name: Install Linux Dependencies
if: matrix.config.os == 'ubuntu'
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-aarch64 qemu-utils make mtools dosfstools wget xz-utils
- name: Install Toolchain
run: |
wget -q "https://developer.arm.com/-/media/Files/downloads/gnu/${{env.arm_toolchain_version}}/binrel/arm-gnu-toolchain-${{env.arm_toolchain_version}}-${{matrix.config.toolchain_arch}}-aarch64-none-elf.tar.xz" -O "toolchain.tar.xz"
tar -xf toolchain.tar.xz
mv "arm-gnu-toolchain-${{env.arm_toolchain_version}}-${{matrix.config.toolchain_arch}}-aarch64-none-elf/" "$RUNNER_TEMP/arm-toolchain"
echo "$RUNNER_TEMP/arm-toolchain/bin" >> $GITHUB_PATH
- name: Build
run: |
mkdir -pv fs/redos/user
export CC="$RUNNER_TEMP/arm-toolchain/bin/aarch64-none-elf-gcc"
export CXX="$RUNNER_TEMP/arm-toolchain/bin/aarch64-none-elf-g++"
git submodule update --remote --merge
make all
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: "REDACTED_OS"
path: |
kernel.elf
kernel.img
disk.img
run_virt
debug
createfs
shared/libshared.a
shared/*.h
shared/**/*.h
fs/*