-
Notifications
You must be signed in to change notification settings - Fork 14
86 lines (83 loc) · 3.01 KB
/
main.yml
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
# The following configuration is used to setup GitHub Actions
# for building (and running unit tests) on pushes and PRs.
# At the moment, we build on two runner types: Linux and MacOS,
# specific version information can be found further below.
name: Build On Changes
# run action on all pushes and pull_request for all branches
on: [pull_request]
# high-level constants
env:
BASE_URL: https://gitlab.sac-home.org/sac-group/sac-packages/-/raw/master/latest/weekly
# action listing, all jobs run in parallel
jobs:
build_linux:
runs-on: ubuntu-20.04
steps:
- name: Get HEAD and submodules
uses: actions/checkout@v2
with:
# we need to get tag information
fetch-depth: 0
# we need to get all submodules
submodules: 'recursive'
- name: Install sac2c-basic
run: |
wget ${BASE_URL}/Ubl20/sac2c-basic.deb
sudo apt install ./sac2c-basic.deb
sac2c -V
- name: Create build dir
run: |
cmake -E make_directory ${{runner.workspace}}/build
mkdir $HOME/.sac2crc
- name: Configure build-system
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake -DLINKSETSIZE=200 -DFULLTYPES=ON $GITHUB_WORKSPACE
- name: Build
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . -j 2 2>&1 | tee build.log
if [ ${PIPESTATUS[0]} -ne 0 ]; then
echo "!!! ERROR detected in build !!!";
exit 1;
fi
${GITHUB_WORKSPACE}/ci/fail-on-warning.sh build.log
build_mac:
runs-on: macos-13
steps:
- name: Get HEAD and submodules
uses: actions/checkout@v2
with:
# we need to get tag information
fetch-depth: 0
# we need to get all submodules
submodules: 'recursive'
- name: Install sac2c-basic
run: |
wget ${BASE_URL}/MacOS_x86/sac2c-basic.pkg
sudo installer -pkg ./sac2c-basic.pkg -target /
sac2c -V
- name: Set XCode version
run: |
sudo xcode-select -switch "/Applications/Xcode_14.1.0.app"
# we need to rewrite sysroot path to use specific Xcode version
sudo find /usr/local/share -type f -name 'sac2crc_*' -execdir sed -i.bak 's/Xcode\.app/Xcode_13\.4\.app/g' {} \;
- name: Create build dir
run: |
cmake -E make_directory ${{runner.workspace}}/build
mkdir $HOME/.sac2crc
- name: Configure build-system
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake -DLINKSETSIZE=200 -DFULLTYPES=ON ${GITHUB_WORKSPACE}
- name: Build
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . -j 2 2>&1 | tee build.log
if [ ${PIPESTATUS[0]} -ne 0 ]; then
echo "!!! ERROR detected in build !!!";
exit 1;
fi
${GITHUB_WORKSPACE}/ci/fail-on-warning.sh build.log