name: CI on: push: branches: - "main" paths-ignore: - "README.md" - "LICENSE" pull_request: paths-ignore: - "README.md" - "LICENSE" jobs: test: runs-on: ${{ matrix.os }} strategy: fail-fast: ${{ github.event_name == 'pull_request' }} matrix: version: - "1.0" - "1.6" # Long-term support (LTS) release of Julia - "1" # automatically expands to the latest stable 1.x release of Julia - nightly os: - ubuntu-latest - macOS-latest - windows-latest arch: - x64 - x86 pkg-server: - "" - "pkg.julialang.org" exclude: # 32-bit Julia binaries are not available on macOS - os: macOS-latest arch: x86 # Only Julia 1.7+ can use the package server - version: "1.0" pkg-server: "pkg.julialang.org" - version: "1.6" pkg-server: "pkg.julialang.org" steps: - name: Checkout Example.jl uses: actions/checkout@v4 with: repository: julia-actions/Example.jl - name: Verify that test output file does not exist yet run: test ! -f "$HOME/julia-buildpkg" shell: bash - name: Checkout julia-buildpkg uses: actions/checkout@v4 with: path: ./.github/actions/julia-buildpkg - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: ./.github/actions/julia-buildpkg with: ignore-no-cache: true localregistry: | https://github.com/JuliaRegistries/General.git env: JULIA_PKG_SERVER: ${{ matrix.pkg-server }} # When using the Pkg server the `Pkg.Registry.add("General")` will add the General registry # via Pkg servers. Using `localregistry` to clone the General registry via HTTPS should be # skipped. - name: Test skipping registry cloning of duplicate repos if: ${{ matrix.pkg-server == 'pkg.julialang.org' }} shell: bash run: | ! test -d $HOME/.julia/registries/General - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v3 with: file: lcov.info - name: Verify that test output file exists run: test -f "$HOME/julia-buildpkg" shell: bash