name: CI on: push: branches: - "main" - "master" pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} timeout-minutes: 5 strategy: fail-fast: false matrix: version: - "1.0" - "lts" - "1" # automatically expands to the latest stable 1.x release of Julia - "pre" - "nightly" os: - ubuntu-latest - macOS-latest - windows-latest arch: - x64 - x86 - aarch64 # 32-bit Julia binaries are not available on macOS # macOS runners use Apple Silicon (ARM64) exclude: - os: macOS-latest arch: x86 - os: macOS-latest arch: x64 - os: ubuntu-latest arch: aarch64 - os: windows-latest arch: aarch64 # Julia 1.0 didn't support ARM64 - os: macOS-latest arch: aarch64 version: "1.0" steps: - name: Checkout Example.jl uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: repository: julia-actions/Example.jl - name: Verify that test output file does not exist yet run: test ! -f "$HOME/julia-runtest" shell: bash - name: Checkout julia-runtest uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: path: ./.github/actions/julia-runtest - uses: julia-actions/setup-julia@5c9647d97b78a5debe5164e9eec09d653d29bd71 # v2.6.1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: julia-actions/cache@d10a6fd8f31b12404a54613ebad242900567f2b9 # v2.1.0 - uses: julia-actions/julia-buildpkg@e3eb439fad4f9aba7da2667e7510e4a46ebc46e1 # v1.7.0 - uses: ./.github/actions/julia-runtest - uses: julia-actions/julia-processcoverage@03114f09f119417c3242a9fb6e0b722676aedf38 - uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 with: files: lcov.info token: ${{ secrets.CODECOV_TOKEN }} fail-ci-if-error: true - name: Verify that test output file exists run: test -f "$HOME/julia-runtest" shell: bash