From 8f8c493c3673cdaa29a757f6aea741e9c9576a3a Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Wed, 3 Feb 2021 12:04:12 +1300 Subject: [PATCH] Switch CI over to GitHub Actions (#1496) --- .github/workflows/CI.yml | 133 +++++++++++++++++++++++++++++++++++++++ .travis.yml | 59 ----------------- 2 files changed, 133 insertions(+), 59 deletions(-) create mode 100644 .github/workflows/CI.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000000..87d3189473 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,133 @@ +name: CI +on: + push: + branches: + - master + - release-* + pull_request: +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.0' + - '1' + - 'nightly' + os: + - ubuntu-latest + - macos-latest + # We still run Windows tests on AppVeyor because the tests are not passing on + # the Windows image of GitHub Actions: + # https://github.com/JuliaDocs/Documenter.jl/pull/1496 + #- windows-latest + arch: + - x64 + include: + - os: ubuntu-latest + version: '1' + arch: x86 + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + show-versioninfo: true + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - uses: julia-actions/julia-runtest@latest + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + + latex: + name: "PDF/LaTeX backend" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - run: | + julia --project=test/examples -e ' + using Pkg + Pkg.instantiate() + Pkg.develop(PackageSpec(path=pwd())) + Pkg.add(["IOCapture", "DocumenterMarkdown"])' + - run: julia --project=test/examples test/examples/tests_latex.jl + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + + themes: + name: "CSS for HTML themes" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - run: | + julia --project=test/themes/ -e ' + using Pkg + Pkg.instantiate() + Pkg.develop(PackageSpec(path=pwd()))' + - run: julia --project=test/themes test/themes/themes.jl + + docs: + name: 'Documentation: ${{ matrix.makejl }}' + runs-on: ubuntu-latest + strategy: + matrix: + include: + - jlenv: 'docs/' + makejl: 'docs/make.jl' + - jlenv: 'docs/pdf/' + makejl: 'docs/pdf/make.jl' + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - run: | + julia --project=${{ matrix.jlenv }} -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - run: julia --project=${{ matrix.jlenv }} --color=yes ${{ matrix.makejl }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2af6557c14..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,59 +0,0 @@ -language: julia - -os: - - linux - - osx - -julia: - - 1 - - 1.4 - - 1.0 - - nightly - -branches: - only: - - master - - /^release-.*$/ - - /^v\d+\.\d+(\.\d+)?(-\S*)?$/ - -after_success: - - if [ -f test/quietly.log ]; then cat test/quietly.log; fi - - if [[ $TRAVIS_JULIA_VERSION = 1 ]] && [[ $TRAVIS_OS_NAME = linux ]]; then - julia --project=coverage/ -e 'using Pkg; Pkg.instantiate(); - using Coverage; Codecov.submit(Codecov.process_folder())'; - fi - -jobs: - allow_failures: - - julia: nightly - include: - - stage: "Additional tests" - script: - - julia --project=test/themes -e 'using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))' - - julia --project=test/themes test/themes/themes.jl - name: "Themes" - - script: - - | - julia --project=test/examples -e ' - using Pkg - Pkg.instantiate() - Pkg.develop(PackageSpec(path=pwd())) - Pkg.add(["IOCapture", "DocumenterMarkdown"]) - ' - - julia --project=test/examples test/examples/tests_latex.jl - name: "PDF/LaTeX backend" - - stage: "Documentation" - script: - - julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - - julia --project=docs/ docs/make.jl - name: "HTML" - after_success: skip - - script: - - julia --project=docs/pdf/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - - julia --project=docs/pdf/ docs/pdf/make.jl - name: "PDF" - after_success: skip - services: docker - -notifications: - email: false