Skip to content

Commit f2a6a3a

Browse files
Upgrade ceedling to 1.0
1 parent 376df03 commit f2a6a3a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+782
-792
lines changed

.github/workflows/ci.yml

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
git checkout -b "$branch" || true
3333
- name: Run build
3434
run: earthly --ci +all --distro=${{ matrix.distro }}
35-
linux:
35+
linux-x64:
3636
runs-on: ubuntu-22.04
3737
steps:
3838
- uses: actions/checkout@v4
@@ -41,15 +41,15 @@ jobs:
4141
ruby-version: '3.0'
4242
bundler-cache: true
4343
- name: Install Ceedling
44-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
44+
run: sudo gem install ceedling --no-user-install
4545
- name: Build dependencies
46-
run: ceedling project:linux verbosity[4] clobber dependencies:make
46+
run: ceedling --mixin=linux_x64 clobber dependencies:make --verbosity=debug
4747
- name: Run wolfSSL Tests
4848
run: |
49-
cd third_party/wolfssl
49+
cd third_party/wolfssl/source
5050
./wolfcrypt/test/testwolfcrypt
5151
- name: Run build and test
52-
run: ceedling project:linux verbosity[4] test:all
52+
run: ceedling --mixin=linux_x64 test:all --verbosity=debug
5353
linux-multithread:
5454
runs-on: ubuntu-22.04
5555
steps:
@@ -59,15 +59,15 @@ jobs:
5959
ruby-version: '3.0'
6060
bundler-cache: true
6161
- name: Install Ceedling
62-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
62+
run: sudo gem install ceedling --no-user-install
6363
- name: Build dependencies
64-
run: ceedling project:linux_multithread verbosity[4] clobber dependencies:make
64+
run: ceedling --mixin=linux_multithread clobber dependencies:make --verbosity=debug
6565
- name: Run wolfSSL Tests
6666
run: |
67-
cd third_party/wolfssl
67+
cd third_party/wolfssl/source
6868
./wolfcrypt/test/testwolfcrypt
6969
- name: Run build and test
70-
run: ceedling project:linux_multithread verbosity[4] test:all
70+
run: ceedling --mixin=linux_multithread test:all --verbosity=debug
7171
linux-386:
7272
runs-on: ubuntu-22.04
7373
steps:
@@ -77,19 +77,19 @@ jobs:
7777
ruby-version: '3.0'
7878
bundler-cache: true
7979
- name: Install Ceedling
80-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
80+
run: sudo gem install ceedling --no-user-install
8181
- name: Install gcc multi lib
8282
run: |
8383
sudo apt update
8484
sudo apt install -y gcc-multilib
8585
- name: Build dependencies
86-
run: ceedling project:linux_386 verbosity[4] clobber dependencies:make
86+
run: ceedling --mixin=linux_386 clobber dependencies:make --verbosity=debug
8787
- name: Run wolfSSL Tests
8888
run: |
89-
cd third_party/wolfssl
89+
cd third_party/wolfssl/source
9090
./wolfcrypt/test/testwolfcrypt
9191
- name: Run build and test
92-
run: ceedling project:linux_386 verbosity[4] test:all
92+
run: ceedling --mixin=linux_386 test:all --verbosity=debug
9393
linux-arm64:
9494
runs-on: ubuntu-22.04
9595
steps:
@@ -99,19 +99,19 @@ jobs:
9999
ruby-version: '3.0'
100100
bundler-cache: true
101101
- name: Install Ceedling
102-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
102+
run: sudo gem install ceedling --no-user-install
103103
- name: Install ARM Tools
104104
run: |
105105
sudo apt update
106106
sudo apt install -y crossbuild-essential-arm64 qemu-user
107107
- name: Build dependencies
108-
run: CROSS_COMPILE="aarch64-linux-gnu" CC="aarch64-linux-gnu-gcc" ceedling project:linux_arm64 verbosity[4] clobber dependencies:make
108+
run: CROSS_COMPILE="aarch64-linux-gnu" CC="aarch64-linux-gnu-gcc" ceedling --mixin=linux_arm64 clobber dependencies:make --verbosity=debug
109109
- name: Run wolfSSL Tests
110110
run: |
111-
cd third_party/wolfssl
111+
cd third_party/wolfssl/source
112112
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./wolfcrypt/test/testwolfcrypt
113113
- name: Run build
114-
run: CC="aarch64-linux-gnu-gcc" ceedling project:linux_arm64 verbosity[4] release
114+
run: CC="aarch64-linux-gnu-gcc" ceedling --mixin=linux_arm64 release --verbosity=debug
115115
linux-arm:
116116
runs-on: ubuntu-22.04
117117
steps:
@@ -121,19 +121,19 @@ jobs:
121121
ruby-version: '3.0'
122122
bundler-cache: true
123123
- name: Install Ceedling
124-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
124+
run: sudo gem install ceedling --no-user-install
125125
- name: Install ARM Tools
126126
run: |
127127
sudo apt update
128128
sudo apt install -y crossbuild-essential-armhf qemu-user
129129
- name: Build dependencies
130-
run: CROSS_COMPILE="arm-linux-gnueabihf" CC="arm-linux-gnueabihf-gcc" ceedling project:linux_arm verbosity[4] clobber dependencies:make
130+
run: CROSS_COMPILE="arm-linux-gnueabihf" CC="arm-linux-gnueabihf-gcc" ceedling --mixin=linux_arm clobber dependencies:make --verbosity=debug
131131
- name: Run wolfSSL Tests
132132
run: |
133-
cd third_party/wolfssl
133+
cd third_party/wolfssl/source
134134
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf ./wolfcrypt/test/testwolfcrypt
135135
- name: Run build
136-
run: CC="arm-linux-gnueabihf-gcc" ceedling project:linux_arm verbosity[4] release
136+
run: CC="arm-linux-gnueabihf-gcc" ceedling --mixin=linux_arm release --verbosity=debug
137137
linux-arm-no-pqc:
138138
runs-on: ubuntu-22.04
139139
steps:
@@ -143,19 +143,19 @@ jobs:
143143
ruby-version: '3.0'
144144
bundler-cache: true
145145
- name: Install Ceedling
146-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
146+
run: sudo gem install ceedling --no-user-install
147147
- name: Install ARM Tools
148148
run: |
149149
sudo apt update
150150
sudo apt install -y crossbuild-essential-armhf qemu-user
151151
- name: Build dependencies
152-
run: CROSS_COMPILE="arm-linux-gnueabihf" CC="arm-linux-gnueabihf-gcc" ceedling project:linux_arm_no_pqc verbosity[4] clobber dependencies:make
152+
run: CROSS_COMPILE="arm-linux-gnueabihf" CC="arm-linux-gnueabihf-gcc" ceedling --mixin=linux_arm_no_pqc clobber dependencies:make --verbosity=debug
153153
- name: Run wolfSSL Tests
154154
run: |
155-
cd third_party/wolfssl
155+
cd third_party/wolfssl/source
156156
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf ./wolfcrypt/test/testwolfcrypt
157157
- name: Run build
158-
run: CC="arm-linux-gnueabihf-gcc" ceedling project:linux_arm_no_pqc verbosity[4] release
158+
run: CC="arm-linux-gnueabihf-gcc" ceedling --mixin=linux_arm_no_pqc release --verbosity=debug
159159
linux-riscv64:
160160
runs-on: ubuntu-22.04
161161
steps:
@@ -165,20 +165,20 @@ jobs:
165165
ruby-version: '3.0'
166166
bundler-cache: true
167167
- name: Install Ceedling
168-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
168+
run: sudo gem install ceedling --no-user-install
169169
- name: Install RISC-V Toolchain
170170
run: |
171171
sudo apt update
172172
sudo apt install -y crossbuild-essential-riscv64 qemu-user
173173
- name: Build dependencies
174-
run: CROSS_COMPILE="riscv64-linux-gnu" CC="riscv64-linux-gnu-gcc" ceedling project:linux_riscv64 verbosity[4] clobber dependencies:make
174+
run: CROSS_COMPILE="riscv64-linux-gnu" CC="riscv64-linux-gnu-gcc" ceedling --mixin=linux_riscv64 clobber dependencies:make --verbosity=debug
175175
- name: Run wolfSSL Tests
176176
run: |
177-
cd third_party/wolfssl
177+
cd third_party/wolfssl/source
178178
QEMU_LD_PREFIX=/usr/riscv64-linux-gnu ./wolfcrypt/test/testwolfcrypt
179179
- name: Run build
180-
run: CC="riscv64-linux-gnu-gcc" ceedling project:linux_riscv64 verbosity[4] release
181-
macos:
180+
run: CC="riscv64-linux-gnu-gcc" ceedling --mixin=linux_riscv64 release --verbosity=debug
181+
macos-x64:
182182
runs-on: macos-13
183183
steps:
184184
- uses: actions/checkout@v4
@@ -187,14 +187,14 @@ jobs:
187187
ruby-version: '3.0'
188188
bundler-cache: true
189189
- name: Install Ceedling
190-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
190+
run: sudo gem install ceedling --no-user-install
191191
- name: Install automake
192192
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
193193
- name: Build dependencies
194-
run: ceedling project:macos verbosity[4] clobber dependencies:make
194+
run: ceedling --mixin=macos_x64 clobber dependencies:make --verbosity=debug
195195
- name: Run build and test
196-
run: ceedling project:macos verbosity[4] test:all
197-
macos_arm64:
196+
run: ceedling --mixin=macos_x64 clobber test:all --verbosity=debug
197+
macos-arm64:
198198
runs-on: macos-latest
199199
steps:
200200
- uses: actions/checkout@v4
@@ -203,13 +203,13 @@ jobs:
203203
ruby-version: '3.0'
204204
bundler-cache: true
205205
- name: Install Ceedling
206-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
206+
run: sudo gem install ceedling --no-user-install
207207
- name: Install automake
208208
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
209209
- name: Build dependencies
210-
run: ceedling project:macos_arm64 verbosity[4] clobber dependencies:make
210+
run: ceedling --mixin=macos_arm64 clobber dependencies:make --verbosity=debug
211211
- name: Run build and test
212-
run: ceedling project:macos_arm64 verbosity[4] test:all
212+
run: ceedling --mixin=macos_arm64 clobber test:all --verbosity=debug
213213
windows:
214214
runs-on: windows-2022
215215
strategy:
@@ -229,7 +229,7 @@ jobs:
229229
ruby-version: '3.0'
230230
bundler-cache: true
231231
- name: Install Ceedling
232-
run: gem install ceedling -v 0.31.1 --no-user-install
232+
run: gem install ceedling --no-user-install
233233
- name: Check Ceedling version
234234
run: ceedling version
235235
- name: Set up Visual Studio shell
@@ -239,13 +239,13 @@ jobs:
239239
- if: ${{ matrix.config.project != 'windows_arm64' }}
240240
# Skip making dependencies for ARM64 as we can only apply git patch once for WolfSSL
241241
name: Build dependencies
242-
run: ceedling project:${{ matrix.config.project }} verbosity[4] clobber dependencies:make
242+
run: ceedling --project=ceedling/${{ matrix.config.project }}.yml clobber dependencies:make --verbosity=debug
243243
- if: ${{ matrix.config.project != 'windows_arm64' }}
244244
name: Run build and test
245-
run: ceedling project:${{ matrix.config.project }} verbosity[4] test:all
245+
run: ceedling --project=ceedling/${{ matrix.config.project }}.yml test:all --verbosity=debug
246246
- if: ${{ matrix.config.project == 'windows_arm64' }}
247247
name: Run build
248-
run: ceedling project:${{ matrix.config.project }} verbosity[4] release
248+
run: ceedling --project=ceedling/${{ matrix.config.project }}.yml release
249249
ios:
250250
runs-on: macos-latest
251251
steps:
@@ -255,11 +255,11 @@ jobs:
255255
ruby-version: '3.0'
256256
bundler-cache: true
257257
- name: Install Ceedling
258-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
258+
run: sudo gem install ceedling --no-user-install
259259
- name: Install automake
260260
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
261261
- name: Run build
262-
run: ceedling project:ios verbosity[4] release
262+
run: ceedling --project=ceedling/ios.yml release --verbosity=debug
263263
- name: Copy all public headers into the umbrella framework
264264
run: cp public/*.h ios/Lightway/Lightway
265265
- name: Build xcframework
@@ -275,11 +275,11 @@ jobs:
275275
ruby-version: '3.0'
276276
bundler-cache: true
277277
- name: Install Ceedling
278-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
278+
run: sudo gem install ceedling --no-user-install
279279
- name: Install automake
280280
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
281281
- name: Run build
282-
run: ceedling project:tvos verbosity[4] release
282+
run: ceedling --project=ceedling/tvos.yml release --verbosity=debug
283283
android:
284284
runs-on: ubuntu-22.04
285285
strategy:
@@ -293,8 +293,8 @@ jobs:
293293
ruby-version: '3.0'
294294
bundler-cache: true
295295
- name: Install Ceedling
296-
run: sudo gem install ceedling -v 0.31.1 --no-user-install
296+
run: sudo gem install ceedling --no-user-install
297297
- name: Run build
298298
run: |
299299
source android/android_env.sh ${{ matrix.arch }}
300-
ceedling project:android verbosity[4] release
300+
ceedling --mixin=android release --verbosity=debug

3rd_party_deps.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

Earthfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
VERSION 0.8
2-
ARG distro=bullseye
2+
ARG distro=bookworm
33
FROM --platform=linux/amd64 debian:$distro-slim
44
WORKDIR /libhelium
55

66
debian-deps:
77
RUN apt-get update
8-
RUN apt-get -y install --no-install-recommends build-essential git automake m4 libtool-bin cmake ruby-full python3-pip
8+
RUN apt-get -y install --no-install-recommends build-essential git automake m4 libtool-bin cmake ruby-full python3-pip clang
99
# Not including colrm seems to give an error when configuring wolfssl
1010
RUN apt-get -y install --no-install-recommends bsdmainutils
11-
RUN gem install ceedling -v 0.31.1 --no-user-install
11+
RUN gem install ceedling --no-user-install
1212
RUN apt-get -y install --no-install-recommends gcovr
1313

1414
libhelium-deps:
1515
FROM +debian-deps
1616
# Copy in the build configs
17-
COPY *.yml .
17+
COPY --dir project.yml ceedling .
1818
# Make the directory structure so that the config can be parsed
1919
# To improve caching we want to separate this out as the WolfSSL dependency
2020
# fetch and build are the slowest parts of the process.
21-
RUN mkdir -p src include test/support third_party/wolfssl
21+
RUN mkdir -p src/he include test/support third_party/wolfssl
2222
# Copy the patch files
2323
COPY --dir wolfssl ./
2424
# Build and fetch the dependencies
25-
RUN ceedling dependencies:make project:linux
25+
RUN ceedling --mixin=linux_x64 clobber dependencies:make
2626

2727
build:
2828
FROM +libhelium-deps
2929
# Copy in the source and include files
3030
COPY --dir src include ./
3131
# Generate the release
32-
RUN ceedling release project:linux
32+
RUN ceedling --mixin=linux_x64 clobber release
3333
# Store the artifacts
3434
SAVE ARTIFACT build/release/libhelium.a ./libhelium.a AS LOCAL ./artifacts/libhelium.a
3535
SAVE ARTIFACT build/artifacts/compile_commands.json AS LOCAL ./artifacts/compile_commands.json
@@ -41,13 +41,13 @@ test-copy:
4141
test:
4242
FROM +test-copy
4343
# Run the tests
44-
RUN ceedling test project:linux
44+
RUN ceedling --mixin=linux_x64 test
4545
SAVE ARTIFACT build/artifacts/compile_commands.json AS LOCAL ./artifacts/compile_commands.json
4646

4747
coverage:
4848
FROM +test-copy
4949
# Generate code coverage
50-
RUN ceedling gcov:all utils:gcov project:linux
50+
RUN ceedling --mixin=linux_x64 gcov:all
5151
SAVE ARTIFACT build/artifacts/gcov/*.html AS LOCAL ./artifacts/code_coverage/html/
5252
SAVE ARTIFACT build/artifacts/gcov/*.xml AS LOCAL ./artifacts/code_coverage/xml/
5353

0 commit comments

Comments
 (0)