Use LLVM intrinsics for NaN-propagating float min and max #264
Workflow file for this run
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: ponyc | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| paths: | |
| - '**' | |
| - '!tools/**' | |
| - '!**/*.md' | |
| - '!**/*.yml' | |
| - '!.dockerfiles/**' | |
| - '!.ci-dockerfiles/**' | |
| - '.github/workflows/pr-ponyc.yml' | |
| concurrency: | |
| group: pr-ponyc-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| packages: read | |
| jobs: | |
| x86_64-linux: | |
| if: github.event.pull_request.draft == false | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20250115 | |
| name: x86-64 Linux glibc | |
| debugger: lldb | |
| - image: ghcr.io/ponylang/ponyc-ci-alpine3.23-builder:20260201 | |
| name: x86-64 Linux musl | |
| debugger: lldb | |
| name: ${{ matrix.name }} | |
| container: | |
| image: ${{ matrix.image }} | |
| options: --user pony --cap-add=SYS_PTRACE --security-opt seccomp=unconfined | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Restore Libs Cache | |
| id: restore-libs | |
| uses: actions/cache/restore@v5.0.3 | |
| with: | |
| path: | | |
| build/libs | |
| lib/llvm/src/compiler-rt/lib/builtins | |
| key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'lib/CMakeLists.txt', 'lib/llvm/patches/*') }} | |
| - name: Build Libs | |
| if: steps.restore-libs.outputs.cache-hit != 'true' | |
| run: make libs build_flags=-j8 | |
| - name: Build Debug Runtime | |
| run: | | |
| make configure arch=x86-64 config=debug | |
| make build config=debug | |
| - name: Test with Debug Runtime | |
| run: make test-ci-core config=debug usedebugger='${{ matrix.debugger }}' | |
| - name: Build Release Runtime | |
| run: | | |
| make configure arch=x86-64 config=release | |
| make build config=release | |
| - name: Test with Release Runtime | |
| run: make test-ci-core config=release usedebugger='${{ matrix.debugger }}' | |
| arm64-macos: | |
| if: github.event.pull_request.draft == false | |
| runs-on: macos-26 | |
| name: arm64 Apple Darwin | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Restore Libs Cache | |
| id: restore-libs | |
| uses: actions/cache/restore@v5.0.3 | |
| with: | |
| path: | | |
| build/libs | |
| lib/llvm/src/compiler-rt/lib/builtins | |
| key: libs-arm64-macos-26-${{ hashFiles('Makefile', 'CMakeLists.txt', 'lib/CMakeLists.txt', 'lib/llvm/patches/*') }} | |
| - name: Build Libs | |
| if: steps.restore-libs.outputs.cache-hit != 'true' | |
| run: make libs build_flags=-j8 | |
| - name: Build Debug Runtime | |
| run: | | |
| make configure arch=armv8 config=debug | |
| make build config=debug | |
| - name: Test with Debug Runtime | |
| run: make test-ci-core config=debug | |
| - name: Build Release Runtime | |
| run: | | |
| make configure arch=armv8 config=release | |
| make build config=release | |
| - name: Test with Release Runtime | |
| run: make test-ci-core config=release | |
| x86_64-windows: | |
| if: github.event.pull_request.draft == false | |
| runs-on: windows-2025 | |
| defaults: | |
| run: | |
| shell: pwsh | |
| name: x86-64 Windows MSVC | |
| steps: | |
| - name: Disable Windows Defender | |
| run: Set-MpPreference -DisableRealtimeMonitoring $true | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Install Dependencies | |
| run: | | |
| function msys() { C:\msys64\usr\bin\bash.exe @('-lc') + @Args }; msys ' '; msys 'pacman --noconfirm -Syuu'; msys 'pacman --noconfirm -Syuu'; msys 'pacman --noconfirm -S --needed base-devel mingw-w64-x86_64-lldb'; msys 'pacman --noconfirm -Scc' | |
| - name: Restore Libs Cache | |
| id: restore-libs | |
| uses: actions/cache/restore@v5.0.3 | |
| with: | |
| path: | | |
| build/libs | |
| lib/llvm/src/compiler-rt/lib/builtins | |
| key: libs-windows-2025-${{ hashFiles('make.ps1', 'CMakeLists.txt', 'lib/CMakeLists.txt', 'lib/llvm/patches/*') }} | |
| - name: Build Libs | |
| if: steps.restore-libs.outputs.cache-hit != 'true' | |
| run: .\make.ps1 -Command libs | |
| - name: Build Debug Runtime | |
| run: | | |
| .\make.ps1 -Command configure -Config Debug | |
| .\make.ps1 -Command build -Config Debug | |
| - name: Test with Debug Runtime | |
| run: .\make.ps1 -Command test -Config Debug -Uselldb yes | |
| - name: Build Release Runtime | |
| run: | | |
| .\make.ps1 -Command configure -Config Release | |
| .\make.ps1 -Command build -Config Release | |
| - name: Test with Release Runtime | |
| run: .\make.ps1 -Command test -Config Release -Uselldb yes | |
| - name: Build examples | |
| run: .\make.ps1 -Command build-examples | |