Add Julia registries only when not present #119
This file contains 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: 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" | |
# 32-bit Julia binaries are not available on macOS | |
exclude: | |
- os: macOS-latest | |
arch: x86 | |
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: | | |
if julia -e 'VERSION >= v"1.7-" || exit(1)'; then | |
! test -d $HOME/.julia/registries/General | |
fi | |
- 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 |