Repository navigation
A power of the secant beside a power of a + i a tan is integrated in … #1518
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 'Trimming & NativeAOT' | |
| # Deliberately without a paths: filter. What breaks a trimmed or NativeAOT build is a run-time | |
| # name lookup, and one can be introduced by a change anywhere in the kernel, by a package bump, | |
| # or by an SDK bump -- so there is no subset of the tree this gate could safely skip. Two | |
| # workflows here have already been silenced by a filter that matched nothing | |
| # (https://github.com/asc-community/AngouriMath/issues/775); an unconditional trigger cannot be. | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - '*' | |
| workflow_dispatch: | |
| jobs: | |
| Publish: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| rid: linux-x64 | |
| - os: windows-latest | |
| rid: win-x64 | |
| - os: macos-latest | |
| rid: osx-arm64 | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup .NET 10 | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: '10.x' | |
| dotnet-quality: 'preview' | |
| # ILC links the runtime into the binary and needs a native linker and zlib to do it. | |
| - name: 'Install the native toolchain for Linux' | |
| if: ${{ matrix.os == 'ubuntu-latest' }} | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang zlib1g-dev | |
| # The project sets PublishTrimmed, TrimmerSingleWarn=false and ILLinkTreatWarningsAsErrors, | |
| # so any IL2xxx from the kernel fails this step. There is no flag to forget on the command | |
| # line and no way to read a warning as noise. | |
| - name: 'Publish trimmed' | |
| run: dotnet publish Sources/Tests/AotSmokeTest/AotSmokeTest.csproj -c Release -r ${{ matrix.rid }} -o artifacts/trimmed | |
| # Publishing is not the test. Everything the trimmer removed that the kernel reaches for by | |
| # name is invisible until the binary runs, so the binary runs, and its exit code is the gate. | |
| - name: 'Run the trimmed binary' | |
| shell: bash | |
| run: ./artifacts/trimmed/AotSmokeTest | |
| - name: 'Publish NativeAOT' | |
| run: dotnet publish Sources/Tests/AotSmokeTest/AotSmokeTest.csproj -c Release -r ${{ matrix.rid }} -p:AngouriMathPublishAot=true -o artifacts/aot | |
| - name: 'Run the NativeAOT binary' | |
| shell: bash | |
| run: ./artifacts/aot/AotSmokeTest |