Merge pull request #43 from JuliaPhysics/dependabot/github_actions/ac… #169
This file contains hidden or 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: | |
| - master | |
| tags: ['*'] | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| # Skip intermediate builds: always. | |
| # Cancel intermediate builds: only if it is a pull request build. | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
| jobs: | |
| test: | |
| name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 | |
| permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created | |
| actions: write | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: | |
| - '1.10' | |
| - '1.9' | |
| - 'pre' | |
| os: | |
| - ubuntu-latest | |
| arch: | |
| - x64 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: ${{ matrix.version }} | |
| arch: ${{ matrix.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@v5 | |
| with: | |
| files: lcov.info | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: write # needed to allow julia-actions/cache to proactively delete old caches that it has created | |
| contents: write | |
| statuses: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: '1' | |
| - uses: julia-actions/cache@v2 | |
| # Install OpenGL dependencies for headless rendering | |
| - name: Install OpenGL dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y xvfb mesa-utils | |
| - name: Configure doc environment | |
| shell: julia --project=docs --color=yes {0} | |
| run: | | |
| using Pkg | |
| Pkg.develop(PackageSpec(path=pwd())) | |
| Pkg.instantiate() | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| # Run docs in xvfb environment | |
| - name: Deploy documentation with xvfb | |
| run: | | |
| xvfb-run julia --project=docs --color=yes -e 'using Documenter; include("docs/make.jl")' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} | |
| # Run doctests in xvfb environment | |
| - name: Run doctests with xvfb | |
| run: | | |
| xvfb-run julia --project=docs --color=yes -e ' | |
| using Documenter: DocMeta, doctest; | |
| using BeamletOptics; | |
| DocMeta.setdocmeta!(BeamletOptics, :DocTestSetup, :(using BeamletOptics); recursive=true); | |
| doctest(BeamletOptics) | |
| ' |