-
Notifications
You must be signed in to change notification settings - Fork 98
101 lines (86 loc) · 2.58 KB
/
Copy pathcheck.yml
File metadata and controls
101 lines (86 loc) · 2.58 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
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
101
name: Flatpak-builder CI
on:
push:
branches:
- main
- 'flatpak-builder-1.*.x'
pull_request:
branches:
- main
- 'flatpak-builder-1.*.x'
env:
DEBIAN_FRONTEND: noninteractive
TESTS_TIMEOUT: 10 # in minutes
MESON_TEST_TIMEOUT_MULTIPLIER: 2
permissions:
contents: read
jobs:
check-meson:
name: Ubuntu meson build
runs-on: ${{ matrix.os }}
container:
image: ubuntu:26.04
options: --privileged
strategy:
matrix:
os: ['ubuntu-24.04']
compiler: ['gcc', 'clang']
env:
CC: ${{ matrix.compiler }}
BUILDDIR: builddir
CONFIG_OPTS: -Dinstalled_tests=true
steps:
- name: Install dependencies
run: |
apt-get update
apt-get install -y git findutils
- name: Set git safe directory
run: |
git config --global safe.directory "*"
- name: Check out flatpak-builder
# 6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
- name: Install build dependencies
run: |
apt-get install -y \
${{ matrix.compiler }} \
$(xargs < .github/dependencies.apt.txt)
- name: Configure flatpak-builder
run: |
meson setup --wrap-mode nodownload ${CONFIG_OPTS} \
-Dwerror=true \
-Db_sanitize=address,undefined \
${BUILDDIR} .
- name: Build flatpak-builder with Meson
run: meson compile -C ${BUILDDIR}
- name: Upload docs
# 7.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
with:
if-no-files-found: error
overwrite: true
name: docs
path: |
builddir/doc/
- name: Run tests with Meson
env:
ASAN_OPTIONS: "detect_leaks=1:fast_unwind_on_malloc=0:malloc_context_size=20:symbolize=1"
UBSAN_OPTIONS: "print_stacktrace=1"
run: |
timeout --signal=KILL -v ${TESTS_TIMEOUT}m meson test -C ${BUILDDIR} --verbose --timeout-multiplier ${MESON_TEST_TIMEOUT_MULTIPLIER}
- name: Create dist tarball
run: |
meson setup --wrap-mode nodownload --reconfigure ${CONFIG_OPTS} ${BUILDDIR}_dist .
meson dist --include-subprojects -C ${BUILDDIR}_dist
- name: Upload test logs
# 7.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
if: failure() || cancelled()
with:
name: test logs
path: |
builddir/meson-logs/testlog.txt
installed-test-logs/
builddir_dist/meson-private/dist-build/meson-logs/testlog.txt