Skip to content

Commit 4019d56

Browse files
committed
feat(ci): run AOT compatibility check for ofrep provider
Signed-off-by: Reinaldy Rafli <github@reinaldyrafli.com>
1 parent f7f84de commit 4019d56

2 files changed

Lines changed: 87 additions & 4 deletions

File tree

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: AOT Compatibility
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
merge_group:
9+
workflow_dispatch:
10+
11+
jobs:
12+
aot-compatibility:
13+
name: AOT Test (${{ matrix.os }}, ${{ matrix.arch }})
14+
permissions:
15+
contents: read
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
include:
20+
# Linux x64
21+
- os: ubuntu-latest
22+
arch: x64
23+
runtime: linux-x64
24+
# Linux ARM64
25+
- os: ubuntu-24.04-arm
26+
arch: arm64
27+
runtime: linux-arm64
28+
# Windows x64
29+
- os: windows-latest
30+
arch: x64
31+
runtime: win-x64
32+
# Windows ARM64
33+
- os: windows-11-arm
34+
arch: arm64
35+
runtime: win-arm64
36+
# macOS x64
37+
- os: macos-15-intel
38+
arch: x64
39+
runtime: osx-x64
40+
# macOS ARM64 (Apple Silicon)
41+
- os: macos-latest
42+
arch: arm64
43+
runtime: osx-arm64
44+
45+
runs-on: ${{ matrix.os }}
46+
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
50+
with:
51+
fetch-depth: 0
52+
submodules: recursive
53+
54+
- name: Setup .NET SDK
55+
uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5
56+
with:
57+
global-json-file: global.json
58+
59+
- name: Restore dependencies
60+
shell: pwsh
61+
run: dotnet restore
62+
63+
- name: Build solution
64+
shell: pwsh
65+
run: dotnet build -c Release --no-restore
66+
67+
- name: Test AOT compatibility project build
68+
shell: pwsh
69+
run: dotnet build test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj -c Release --no-restore
70+
71+
- name: Publish AOT compatibility test (cross-platform)
72+
shell: pwsh
73+
run: |
74+
dotnet publish test/OpenFeature.Providers.Ofrep.AotCompatibility/OpenFeature.Providers.Ofrep.AotCompatibility.csproj `
75+
-f net10.0 `
76+
-r ${{ matrix.runtime }} `
77+
-o ./aot-output
78+
79+
- name: Run AOT compatibility test
80+
shell: pwsh
81+
run: |
82+
if ("${{ runner.os }}" -eq "Windows") {
83+
./aot-output/OpenFeature.Providers.Ofrep.AotCompatibility.exe
84+
} else {
85+
chmod +x ./aot-output/OpenFeature.Providers.Ofrep.AotCompatibility
86+
./aot-output/OpenFeature.Providers.Ofrep.AotCompatibility
87+
}

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,6 @@ jobs:
6161
- name: Test
6262
run: dotnet test --no-build --logger GitHubActions
6363

64-
- name: OFREP AOT compatibility check
65-
if: matrix.os == 'ubuntu-latest'
66-
run: dotnet publish test/OpenFeature.Providers.Ofrep.AotCompatibility/OpenFeature.Providers.Ofrep.AotCompatibility.csproj -c Release -r linux-x64 --self-contained true -p:TreatWarningsAsErrors=true
67-
6864
e2e:
6965
runs-on: ubuntu-latest
7066
timeout-minutes: 10

0 commit comments

Comments
 (0)