Repository navigation
Bump JuliaRegistries/TagBot from 1.25.11 to 1.25.12 #472
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: Test | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ["*"] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| binary_test: | |
| name: Julia ${{ matrix.version }} ${{ matrix.llvm_args }} - ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| # nightly jobs on Windows and macOS take 12-15 minutes, mostly precompiling for a | |
| # new nightly and saving the depot cache; the test step has its own timeout to catch hangs | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ['1.10', '1.11', '1.12', '1.13', 'nightly'] | |
| os: ['ubuntu-latest', 'ubuntu-24.04-arm', 'macOS-latest', 'windows-latest'] | |
| llvm_args: [''] | |
| include: | |
| # on Julia 1.10 and 1.11, also test non-default opaque pointers | |
| - version: '1.10' | |
| os: 'ubuntu-latest' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.10' | |
| os: 'ubuntu-24.04-arm' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.10' | |
| os: 'macOS-latest' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.10' | |
| os: 'windows-latest' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.11' | |
| os: 'ubuntu-latest' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.11' | |
| os: 'ubuntu-24.04-arm' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.11' | |
| os: 'macOS-latest' | |
| llvm_args: '--opaque-pointers' | |
| - version: '1.11' | |
| os: 'windows-latest' | |
| llvm_args: '--opaque-pointers' | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 # build_ci.jl needs to be able to inspect the git log | |
| # install Julia | |
| - uses: julia-actions/setup-julia@v3 | |
| with: | |
| version: ${{ matrix.version }} | |
| # set-up packages | |
| - uses: julia-actions/cache@v3 | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| - name: Install MSYS2 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| path-type: inherit | |
| install: make mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake | |
| if: runner.os == 'Windows' | |
| - name: Build libLLVMExtra | |
| run: julia --project=deps deps/build_ci.jl | |
| if: runner.os != 'Windows' | |
| - name: Build libLLVMExtra (in msys2) | |
| shell: msys2 {0} | |
| run: julia --project=deps deps/build_ci.jl | |
| if: runner.os == 'Windows' | |
| - name: Run tests | |
| timeout-minutes: 20 | |
| run: | | |
| julia -e 'open("LocalPreferences.toml", "a") do io | |
| println(io, "typecheck = \"true\"") | |
| println(io, "memcheck = \"true\"") | |
| end' | |
| julia --project -e 'using Pkg; Pkg.test(; coverage=true)' | |
| env: | |
| JULIA_LLVM_ARGS: ${{ matrix.llvm_args }} | |
| - uses: julia-actions/julia-processcoverage@v1 | |
| - uses: codecov/codecov-action@v7 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |
| file: lcov.info | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 # build_ci.jl needs to be able to inspect the git log | |
| - uses: julia-actions/setup-julia@latest | |
| with: | |
| version: '1.12' | |
| - uses: julia-actions/cache@v3 | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| - name: Build libLLVMExtra | |
| run: julia --project=deps deps/build_ci.jl | |
| - name: Install dependencies | |
| run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' | |
| - name: Build and deploy | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} | |
| run: julia --project=docs/ docs/make.jl |