-
Notifications
You must be signed in to change notification settings - Fork 106
159 lines (148 loc) · 5.26 KB
/
Copy pathci-debian13.yml
File metadata and controls
159 lines (148 loc) · 5.26 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Build on Debian 13
on:
push:
branches: [main]
paths:
- "src/**"
- "!src/Plugins/Macos/**"
- "!src/Plugins/Windows/**"
- "tests/**"
- "lolly/**"
- "moebius/**"
- "xmake.lua"
- 'xmake/options.lua'
- 'xmake/requires.lua'
- 'xmake/targets/**'
- "xmake/packages.lua"
- "xmake/packages/**"
- ".github/workflows/ci-debian13.yml"
- "TeXmacs/tests/*.scm"
- "TeXmacs/progs/**"
- "TeXmacs/plugins/**"
- "3rdparty/**"
pull_request:
branches: [main]
paths:
- "src/**"
- "!src/Plugins/Macos/**"
- "!src/Plugins/Windows/**"
- "tests/**"
- "lolly/**"
- "moebius/**"
- "xmake.lua"
- 'xmake/options.lua'
- 'xmake/requires.lua'
- 'xmake/targets/**'
- "xmake/packages.lua"
- "xmake/packages/**"
- ".github/workflows/ci-debian13.yml"
- "TeXmacs/tests/*.scm"
- "TeXmacs/progs/**"
- "TeXmacs/plugins/**"
- "3rdparty/**"
workflow_dispatch:
env:
XMAKE_ROOT: y
QT_QPA_PLATFORM: offscreen
INSTALL_DIR: tmp/build/packages/app.mogan/
jobs:
build:
container: debian:13
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
DEBIAN_FRONTEND=noninteractive apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y gcc git 7zip unzip curl build-essential \
fonts-noto-cjk libcurl4-openssl-dev libfreetype-dev libfontconfig-dev \
libmimalloc-dev libgit2-dev zlib1g-dev libssl-dev libjpeg62-turbo-dev cmake \
pandoc python3.13 python3.13-venv python3-pip ninja-build \
libdbus-1-3 libglib2.0-0t64 libegl1 libgl-dev libxkbcommon0
# Make python3 point to python3.13 so xmake uses system Python instead of compiling its own
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1
# Pre-install aqtinstall to avoid xmake pulling its own Python 3.14
python3 -m pip install --break-system-packages aqtinstall
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: v3.0.7
- name: git add safe directory
run: git config --global --add safe.directory '*'
- name: set XMAKE_GLOBALDIR
run: echo "XMAKE_GLOBALDIR=${{ runner.workspace }}/xmake-global" >> $GITHUB_ENV
- name: xmake repo --update
run: xmake repo --update
- name: cache packages from xrepo
uses: actions/cache@v4
with:
path: |
${{ env.XMAKE_GLOBALDIR }}/.xmake/packages
key: ${{ runner.os }}-xrepo-qt683-${{ hashFiles('**/packages.lua') }}
- name: cache xmake
uses: actions/cache@v4
with:
path: |
tmp/build/.build_cache
key: ${{ runner.os }}-build-qt683-${{ hashFiles('**/packages.lua') }}
- name: Detect changes
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
lolly:
- 'lolly/**'
lolly_src:
- 'lolly/Data/**'
- 'lolly/Kernel/**'
- 'lolly/Plugins/**'
- 'lolly/System/**'
- 'lolly/lolly/**'
- 'lolly/xmake.lua'
moebius:
- 'moebius/Data/**'
- 'moebius/Kernel/**'
- 'moebius/Scheme/**'
- 'moebius/moebius/**'
- 'moebius/tests/**'
- 'moebius/xmake.lua'
moebius_src:
- 'moebius/Data/**'
- 'moebius/Kernel/**'
- 'moebius/Scheme/**'
- 'moebius/moebius/**'
- 'moebius/xmake.lua'
mogan:
- 'src/**'
- 'tests/**'
- 'xmake.lua'
- 'xmake/packages.lua'
- 'xmake/packages/**'
- 'TeXmacs/tests/*.scm'
- 'TeXmacs/progs/**'
- 'TeXmacs/plugins/**'
- '3rdparty/**'
- name: config
run: xmake config -vD --policies=build.ccache -o tmp/build -m releasedbg --yes
- name: build lolly
if: steps.filter.outputs.lolly == 'true'
run: xmake build --yes -vD liblolly
- name: test lolly
if: steps.filter.outputs.lolly == 'true'
run: xmake test "lolly_tests/*"
- name: build moebius
if: steps.filter.outputs.moebius == 'true'
run: xmake build --yes -vD libmoebius
- name: test moebius
if: steps.filter.outputs.moebius == 'true'
run: xmake test "moebius_tests/*"
- name: build
if: steps.filter.outputs.lolly_src == 'true' || steps.filter.outputs.moebius_src == 'true' || steps.filter.outputs.mogan == 'true'
run: xmake build --yes -vD stem && xmake build --yes -vD --group=tests
- name: test
if: steps.filter.outputs.lolly_src == 'true' || steps.filter.outputs.moebius_src == 'true' || steps.filter.outputs.mogan == 'true'
run: xmake run --yes -vD --group=tests
- name: Scheme tests
if: steps.filter.outputs.lolly_src == 'true' || steps.filter.outputs.moebius_src == 'true' || steps.filter.outputs.mogan == 'true'
run: xmake run --yes -vD --group=scheme_tests