Skip to content

Fix Documenter.jl build errors: docstrings, @ref links, and missing docs #2

Fix Documenter.jl build errors: docstrings, @ref links, and missing docs

Fix Documenter.jl build errors: docstrings, @ref links, and missing docs #2

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version:
- "1.10" # LTS
- "1" # stable
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
- uses: julia-actions/cache@v2
# Install Rust toolchain for building the companion crate
- uses: dtolnay/rust-toolchain@stable
# Build the Rust cdylib (with icechunk feature, enabled by default)
- name: Build libzarrs_jl
run: julia --project deps/build.jl
# Run core tests
- name: Run tests
uses: julia-actions/julia-runtest@v1
test-icechunk:
name: Icechunk tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- uses: julia-actions/cache@v2
- uses: dtolnay/rust-toolchain@stable
- name: Build libzarrs_jl
run: julia --project deps/build.jl
- name: Instantiate test environment
run: julia --project -e 'using Pkg; Pkg.instantiate()'
- name: Run Icechunk tests
run: julia --project -e '
using Pkg; Pkg.test(test_args=["icechunk"])'
test-no-icechunk:
name: Tests without icechunk feature
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- uses: julia-actions/cache@v2
- uses: dtolnay/rust-toolchain@stable
- name: Build libzarrs_jl without icechunk
run: |
cd deps/zarrs_jl
cargo build --release --no-default-features
cd ../..
julia --project deps/build.jl
- name: Run core tests (no icechunk)
run: julia --project -e '
using Pkg; Pkg.test(test_args=["core"])'
compat:
name: Cross-language compatibility
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- uses: julia-actions/cache@v2
- uses: dtolnay/rust-toolchain@stable
# Install uv for Python fixture generation
- uses: astral-sh/setup-uv@v5
- name: Build libzarrs_jl
run: julia --project deps/build.jl
- name: Instantiate test environment
run: julia --project -e 'using Pkg; Pkg.instantiate()'
# Generate fixtures
- name: Generate Python fixtures
run: uv run test/fixtures/generate_python.py
- name: Generate Zarrs.jl fixtures
run: julia --project test/fixtures/generate_zarrs_jl.jl
# Run compatibility tests
- name: Python compatibility tests
run: julia --project -e '
using Pkg; Pkg.test(test_args=["compat_zarr_python"])'
- name: Zarrs.jl self-compatibility tests
run: julia --project -e '
using Pkg; Pkg.test(test_args=["compat_zarrs"])'
docs:
name: Documentation
runs-on: ubuntu-latest
permissions:
contents: write
statuses: write
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- uses: julia-actions/cache@v2
- uses: dtolnay/rust-toolchain@stable
- name: Build libzarrs_jl
run: julia --project deps/build.jl
- name: Install dependencies
run: julia --project=docs -e '
using Pkg;
Pkg.develop(PackageSpec(path=pwd()));
Pkg.instantiate()'
- name: Build and deploy docs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
run: julia --project=docs docs/make.jl