-
Notifications
You must be signed in to change notification settings - Fork 52
100 lines (96 loc) · 4.14 KB
/
sdk.yaml
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Copyright 2023, UNSW
#
# SPDX-License-Identifier: BSD-2-Clause
# It is to be noted that this CI workflow is temporary and simply attempts
# to build (but not test) the SDK. It is only for the purposes of seeing
# whether a particular commit has devastatingly broken the Microkit SDK
name: SDK
on:
# Run the SDK CI on any activity on the main branch as well as on any pull
# request activity (e.g when it is created and also when it is updated).
pull_request:
push:
branches: [ "main" ]
jobs:
build_linux_x64:
name: Build SDK (Linux x86-64)
runs-on: ubuntu-20.04
steps:
- name: Checkout Microkit repository
uses: actions/checkout@v3
- name: Checkout seL4 repository
uses: actions/checkout@v3
with:
repository: seL4/seL4
ref: microkit
path: seL4
- name: Install SDK dependencies
run: |
sudo apt update
sudo apt install \
cmake pandoc device-tree-compiler ninja-build \
texlive-fonts-recommended texlive-formats-extra libxml2-utils \
python3.9 python3-pip python3.9-venv musl-tools
- name: Install AArch64 GCC toolchain
run: |
wget -O aarch64-toolchain.tar.gz https://sel4-toolchains.s3.us-east-2.amazonaws.com/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz%3Frev%3D28d5199f6db34e5980aae1062e5a6703%26hash%3DF6F5604BC1A2BBAAEAC4F6E98D8DC35B
tar xf aarch64-toolchain.tar.gz
echo "$(pwd)/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf/bin" >> $GITHUB_PATH
- name: Build SDK
run: |
python3.9 -m venv pyenv
./pyenv/bin/pip install --upgrade pip setuptools wheel
./pyenv/bin/pip install -r requirements.txt
./pyenv/bin/python build_sdk.py --sel4=seL4
build_macos_x64:
name: Build SDK (macOS x86-64)
runs-on: macos-12
steps:
- name: Checkout Microkit repository
uses: actions/checkout@v3
- name: Checkout seL4 repository
uses: actions/checkout@v3
with:
repository: seL4/seL4
ref: microkit
path: seL4
- name: Install SDK dependencies
run: brew install pandoc cmake dtc ninja qemu libxml2 [email protected] coreutils texlive
- name: Install AArch64 GCC toolchain
run: |
wget -O aarch64-toolchain.tar.gz https://sel4-toolchains.s3.us-east-2.amazonaws.com/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi.tar.xz%3Frev%3D41f9ad86e18d43cf9999c4bada07f7df%26hash%3DC458A8BF74CBA545BDCA38B7FB40AAF5
tar xf aarch64-toolchain.tar.gz
echo "$(pwd)/arm-gnu-toolchain-12.2.rel1-darwin-x86_64-aarch64-none-elf/bin" >> $GITHUB_PATH
ls
aarch64-none-elf-gcc --version
- name: Build SDK
run: |
python3.9 -m venv pyenv
./pyenv/bin/pip install --upgrade pip setuptools wheel
./pyenv/bin/pip install -r requirements.txt
./pyenv/bin/python build_sdk.py --sel4=seL4
build_macos_arm64:
name: Build SDK (macOS ARM64)
runs-on: macos-12
steps:
- name: Checkout Microkit repository
uses: actions/checkout@v3
- name: Checkout seL4 repository
uses: actions/checkout@v3
with:
repository: seL4/seL4
ref: microkit
path: seL4
- name: Install SDK dependencies
run: brew install pandoc cmake dtc ninja qemu libxml2 [email protected] coreutils texlive
- name: Install AArch64 GCC toolchain
run: |
wget -O aarch64-toolchain.tar.gz https://sel4-toolchains.s3.us-east-2.amazonaws.com/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi.tar.xz%3Frev%3D41f9ad86e18d43cf9999c4bada07f7df%26hash%3DC458A8BF74CBA545BDCA38B7FB40AAF5
tar xf aarch64-toolchain.tar.gz
echo "$(pwd)/arm-gnu-toolchain-12.2.rel1-darwin-x86_64-aarch64-none-elf/bin" >> $GITHUB_PATH
- name: Build SDK
run: |
python3.9 -m venv pyenv
./pyenv/bin/pip install --upgrade pip setuptools wheel
./pyenv/bin/pip install -r requirements.txt
./pyenv/bin/python build_sdk.py --sel4=seL4 --tool-target-triple=aarch64-apple-darwin