-
Notifications
You must be signed in to change notification settings - Fork 7
100 lines (98 loc) · 3.22 KB
/
ci.yml
File metadata and controls
100 lines (98 loc) · 3.22 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
# SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
name: Extended
permissions:
contents: read
on:
workflow_call:
workflow_dispatch:
jobs:
compiler_tests:
name: Compiler tests (${{ matrix.compiler.name }}, ${{ matrix.target.name }}, ${{ matrix.cflags }})
strategy:
fail-fast: false
matrix:
cflags: [ "-Os", "-O3" ]
target:
- runner: pqcp-arm64
name: 'aarch64'
archflags: ''
- runner: ubuntu-latest
name: 'x86_64'
archflags: '-mavx2 -mbmi2 -mpopcnt -maes'
- runner: macos-latest
name: 'macos'
archflags: ''
compiler:
- name: gcc-4.8
shell: ci_gcc48
darwin: False
- name: gcc-4.9
shell: ci_gcc49
darwin: False
- name: gcc-7
shell: ci_gcc7
darwin: False
- name: gcc-11
shell: ci_gcc11
darwin: True
- name: gcc-13
shell: ci_gcc13
darwin: True
- name: gcc-14
shell: ci_gcc14
darwin: True
- name: clang-18
shell: ci_clang18
darwin: True
- name: clang-19
shell: ci_clang19
darwin: True
- name: clang-20
shell: ci_clang20
darwin: True
- name: clang-21
shell: ci_clang21
darwin: True
# CPU flags are not correctly passed to the zig assembler
# https://github.com/ziglang/zig/issues/23576
# We therefore only test the C backend
#
# We omit all examples since there is currently no way to run
# only those examples not involving native code.
# TODO: compiling with zig leads to test failures right now - needs to be revisited.
#- name: zig-0.12
# shell: ci_zig0_12
# darwin: True
#- name: zig-0.13
# shell: ci_zig0_13
# darwin: True
#- name: zig-0.14
# shell: ci_zig0_14
# darwin: True
exclude:
# Exclude old GCC versions from macOS and aarch64 runners
- target: { name: 'macos' }
compiler: { darwin: False }
- target: { name: 'aarch64' }
compiler: { darwin: False }
runs-on: ${{ matrix.target.runner }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: build+functest (default)
uses: ./.github/actions/multi-functest
with:
gh_token: ${{ secrets.GITHUB_TOKEN }}
nix-shell: ${{ matrix.compiler.shell }}
cflags: "${{ matrix.cflags }} ${{ matrix.target.archflags }}"
- name: native build+functest (C90)
uses: ./.github/actions/multi-functest
with:
gh_token: ${{ secrets.GITHUB_TOKEN }}
nix-shell: ${{ matrix.compiler.shell }}
cflags: "-std=c90 ${{ matrix.cflags }} ${{ matrix.target.archflags }}"
- name: native build+functest (C99)
uses: ./.github/actions/multi-functest
with:
gh_token: ${{ secrets.GITHUB_TOKEN }}
nix-shell: ${{ matrix.compiler.shell }}
cflags: "-std=c99 ${{ matrix.cflags }} ${{ matrix.target.archflags }}"