From afc5fac2f6118fa270aa2e5f81cb4a11d56f1502 Mon Sep 17 00:00:00 2001 From: Kristoffer Date: Thu, 14 Nov 2024 10:40:05 +0100 Subject: [PATCH] enable CI (still need to do the sysimage rebuilding) --- .github/workflows/ci.yml | 63 ++++++++++++++++++++++++++++++++++++++++ .gitignore | 3 ++ docs/Project.toml | 3 ++ docs/make.jl | 16 ++++++++++ 4 files changed, 85 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 docs/Project.toml create mode 100644 docs/make.jl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..d2cde7ba --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,63 @@ +name: CI +on: + pull_request: + push: + branches: + - 'main' + - 'release-*' + tags: '*' +concurrency: + # Skip intermediate builds: all builds except for builds on the `main` or `release-*` branches + # Cancel intermediate builds: only pull request builds + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + julia-version: + - 'nightly' + os: + - ubuntu-latest + - windows-latest + julia-arch: + - x64 + - x86 + include: + - os: macOS-latest + julia-arch: aarch64 + julia-version: 'nightly' + - os: macOS-13 + julia-arch: x64 + julia-version: 'nightly' + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.julia-version }} + arch: ${{ matrix.julia-arch }} + - uses: julia-actions/cache@v2 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v4 + with: + file: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: 'nightly' + - name: Generate docs + run: | + julia --project --color=yes -e '' + julia --project --color=yes -e 'using Pkg; Pkg.respect_sysimage_versions(false); Pkg.activate("docs"); Pkg.develop(PackageSpec(path = pwd()))' + julia --project=docs --color=yes docs/make.jl pdf + env: + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7280a531 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +Manifest.toml +Manifest-v*.*.toml +docs/build diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 00000000..1e03b98d --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,3 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 00000000..b7443698 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,16 @@ +using LinearAlgebra +using Documenter: DocMeta, makedocs, deploydocs + +DocMeta.setdocmeta!(LinearAlgebra, :DocTestSetup, :(using LinearAlgebra); recursive=true) + +makedocs( + modules = [LinearAlgebra], + sitename = "LinearAlgebra", + size_threshold = 600 * 2^10, # 600 KiB + pages = Any[ + "LinearAlgebra" => "index.md", + ]; + warnonly = [:missing_docs, :cross_references], + ) + +deploydocs(repo = "github.com/KristofferC/LinearAlgebra.jl.git")