From ce1fd84dd05a3bca5ad0ce16a794a159d704bd30 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Mon, 7 Dec 2020 11:33:01 +0100 Subject: [PATCH 01/46] Switch to github actions --- .github/workflows/ci.yml | 72 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 39 ---------------------- docs/make.jl | 2 +- test/runtests.jl | 7 ---- test/test_plots.jl | 2 +- 5 files changed, 74 insertions(+), 48 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 000000000..8f3e703e1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,72 @@ +name: CI +on: + pull_request: + branches: + - master + push: + branches: + - master + tags: '*' +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.0' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. + - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. + - 'nightly' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - name: Install apt deps + run: apt-get install libgtk-3-dev dvipng texlive + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - 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-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + docs: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - name: Install apt deps + run: apt-get install libgtk-3-dev dvipng texlive + - run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - run: | + julia --project=docs -e ' + using Documenter: doctest + using ControlSystems + doctest(ControlSystems)' + - run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 37b229355..000000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -language: julia -julia: - - 1.0 - - 1 - - nightly -matrix: - allow_failures: - - julia: nightly - fast_finish: true -notifications: - email: false -branches: - only: - - master -addons: - apt: - packages: - - libgtk-3-dev - - xvfb - - dvipng - - texlive -cache: - directories: - # This should speed up builds - - $HOME/.julia/artifacts - -env: - - PLOTS_TEST="true" GKSwstype="100" - -script: - - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi - # Needed for plotting on travis - - if [[ `uname` = "Linux" ]]; then TESTCMD="xvfb-run julia"; else TESTCMD="julia"; fi - - $TESTCMD -e 'using Pkg; Pkg.build(); Pkg.test(coverage=true)' - -after_success: - - julia -e 'import Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())' - - if [[ `uname` = "Linux" ]]; then TESTCMD="xvfb-run julia"; else TESTCMD="julia"; fi - - $TESTCMD --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();import ControlSystems; cd(joinpath(dirname(pathof(ControlSystems)), "..")); include(joinpath("docs", "make.jl"))' diff --git a/docs/make.jl b/docs/make.jl index 24aa3b510..d87259ffe 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,6 @@ # Set plot globals ENV["PLOTS_TEST"] = "true" -ENV["GKSwstype"] = "100" +ENV["GKSwstype"] = "nul" using Documenter, ControlSystems, Plots, LinearAlgebra, DSP import GR # Bug with world age in Plots.jl, see https://github.com/JuliaPlots/Plots.jl/issues/1047 diff --git a/test/runtests.jl b/test/runtests.jl index e9c629c44..aeb10e574 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,5 @@ using ControlSystems using Test, LinearAlgebra, Random -using Documenter # For doctests import Base.isapprox # In framework and test_synthesis import SparseArrays: sparse # In test_matrix_comps import DSP: conv # In test_conversion and test_synthesis @@ -39,10 +38,4 @@ my_tests = [ _t0 = time() run_tests(my_tests) println("Ran all code tests in $(round(time()-_t0, digits=2)) seconds") - - - println("Test Doctests") - _t0 = time() - doctest(ControlSystems) - println("Ran Doctests in $(round(time()-_t0, digits=2)) seconds") end diff --git a/test/test_plots.jl b/test/test_plots.jl index d898536aa..a06301afb 100644 --- a/test/test_plots.jl +++ b/test/test_plots.jl @@ -1,6 +1,6 @@ # Set plot globals ENV["PLOTS_TEST"] = "true" -ENV["GKSwstype"] = "100" +ENV["GKSwstype"] = "nul" using Plots gr() From 44ffd89644207684b8db193a5a77a38b43968b61 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Mon, 7 Dec 2020 11:38:59 +0100 Subject: [PATCH 02/46] sudo for apt install --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f3e703e1..22d1d1b30 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install apt deps - run: apt-get install libgtk-3-dev dvipng texlive + run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} @@ -55,7 +55,7 @@ jobs: with: version: '1' - name: Install apt deps - run: apt-get install libgtk-3-dev dvipng texlive + run: sudo apt-get install libgtk-3-dev dvipng texlive - run: | julia --project=docs -e ' using Pkg From 3b85c37b9d8b936ef90f95b5355e28e615b3d6fe Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 11:35:21 +0100 Subject: [PATCH 03/46] Separate nightly and add badge --- .github/workflows/ci-nightly.yml | 71 ++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 4 +- README.md | 2 +- 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/ci-nightly.yml diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml new file mode 100644 index 000000000..7d1e37f2a --- /dev/null +++ b/.github/workflows/ci-nightly.yml @@ -0,0 +1,71 @@ +name: CI-nightly +on: + pull_request: + branches: + - master + push: + branches: + - master + tags: + - '*' +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - 'nightly' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - name: Install apt deps + run: sudo apt-get install libgtk-3-dev dvipng texlive + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - 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-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + docs: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - name: Install apt deps + run: sudo apt-get install libgtk-3-dev dvipng texlive + - run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - run: | + julia --project=docs -e ' + using Documenter: doctest + using ControlSystems + doctest(ControlSystems)' + - run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 22d1d1b30..ea39fb10d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,8 @@ on: push: branches: - master - tags: '*' + tags: + - '*' jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -17,7 +18,6 @@ jobs: version: - '1.0' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. - - 'nightly' os: - ubuntu-latest arch: diff --git a/README.md b/README.md index e0d4a54b3..4fac67824 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ControlSystems.jl -[![Build Status](https://travis-ci.com/JuliaControl/ControlSystems.jl.svg?branch=master)](https://travis-ci.com/JuliaControl/ControlSystems.jl) +[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From f01144d88f602c49e19114411368f838b60fadaf Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 11:39:46 +0100 Subject: [PATCH 04/46] Remove doctest from nightly file --- .github/workflows/ci-nightly.yml | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml index 7d1e37f2a..21e47f199 100644 --- a/.github/workflows/ci-nightly.yml +++ b/.github/workflows/ci-nightly.yml @@ -12,6 +12,7 @@ jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} + continue-on-error: true strategy: fail-fast: false matrix: @@ -44,28 +45,4 @@ jobs: - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v1 with: - file: lcov.info - docs: - name: Documentation - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - - run: | - julia --project=docs -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate()' - - run: | - julia --project=docs -e ' - using Documenter: doctest - using ControlSystems - doctest(ControlSystems)' - - run: julia --project=docs docs/make.jl - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + file: lcov.info \ No newline at end of file From 70e6e1fe2367c8d965a488b9dbce264e3ec4515c Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 12:49:45 +0100 Subject: [PATCH 05/46] Move ci to same file and remove apt from test --- .github/workflows/ci.yml | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea39fb10d..cbc836ba7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: tags: - '*' jobs: - test: + tests-required: # Tests that needs to succeed name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: @@ -24,8 +24,6 @@ jobs: - x64 steps: - uses: actions/checkout@v2 - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} @@ -46,6 +44,37 @@ jobs: - uses: codecov/codecov-action@v1 with: file: lcov.info + test-allowed-fail: # Tests that are allowed to fail + name: Julia (allowed fail) ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + continue-on-error: true + strategy: + fail-fast: false + matrix: + version: + - 'nightly' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - 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-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 docs: name: Documentation runs-on: ubuntu-latest From af814dd66d1dcea1daae165587da5338999dced1 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 12:50:30 +0100 Subject: [PATCH 06/46] Remove nightly file --- .github/workflows/ci-nightly.yml | 48 -------------------------------- 1 file changed, 48 deletions(-) delete mode 100644 .github/workflows/ci-nightly.yml diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml deleted file mode 100644 index 21e47f199..000000000 --- a/.github/workflows/ci-nightly.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: CI-nightly -on: - pull_request: - branches: - - master - push: - branches: - - master - tags: - - '*' -jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} - continue-on-error: true - strategy: - fail-fast: false - matrix: - version: - - 'nightly' - os: - - ubuntu-latest - arch: - - x64 - steps: - - uses: actions/checkout@v2 - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - 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-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 - with: - file: lcov.info \ No newline at end of file From 4c5fd9b7f776aa115155bde08e3347799904b962 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 12:53:08 +0100 Subject: [PATCH 07/46] Update job names --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbc836ba7..8e273f20c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: - '*' jobs: tests-required: # Tests that needs to succeed - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -45,7 +45,7 @@ jobs: with: file: lcov.info test-allowed-fail: # Tests that are allowed to fail - name: Julia (allowed fail) ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - [allowed to fail] - runs-on: ${{ matrix.os }} continue-on-error: true strategy: From ccd85d14feaef3a661469d111b33a5aaf2c5752d Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 17:04:05 +0100 Subject: [PATCH 08/46] Split test and docs in two files --- .github/workflows/Docs.yml | 37 ++++++++++++++++++++++++++ .github/workflows/{ci.yml => Test.yml} | 32 ++++------------------ 2 files changed, 42 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/Docs.yml rename .github/workflows/{ci.yml => Test.yml} (73%) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml new file mode 100644 index 000000000..f6521667f --- /dev/null +++ b/.github/workflows/Docs.yml @@ -0,0 +1,37 @@ +name: Docs + +on: + pull_request: + branches: + - master + push: + branches: + - master + tags: + - '*' + +jobs: + docs: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - name: Install apt deps + run: sudo apt-get install libgtk-3-dev dvipng texlive + - run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - run: | + julia --project=docs -e ' + using Documenter: doctest + using ControlSystems + doctest(ControlSystems)' + - run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/Test.yml similarity index 73% rename from .github/workflows/ci.yml rename to .github/workflows/Test.yml index 8e273f20c..c2ff07ca8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/Test.yml @@ -1,4 +1,5 @@ -name: CI +name: Test + on: pull_request: branches: @@ -8,8 +9,9 @@ on: - master tags: - '*' + jobs: - tests-required: # Tests that needs to succeed + tests-required: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - runs-on: ${{ matrix.os }} strategy: @@ -44,7 +46,7 @@ jobs: - uses: codecov/codecov-action@v1 with: file: lcov.info - test-allowed-fail: # Tests that are allowed to fail + test-optional: # Tests that are allowed to fail name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - [allowed to fail] - runs-on: ${{ matrix.os }} continue-on-error: true @@ -75,27 +77,3 @@ jobs: ${{ runner.os }}- - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - docs: - name: Documentation - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - - run: | - julia --project=docs -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate()' - - run: | - julia --project=docs -e ' - using Documenter: doctest - using ControlSystems - doctest(ControlSystems)' - - run: julia --project=docs docs/make.jl - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} From 7314ee70d7b01b217b0b7c37abe6ca503d968a85 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 8 Dec 2020 21:28:50 +0100 Subject: [PATCH 09/46] Add documenter key to tagbot --- .github/workflows/TagBot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index d77d3a0c3..f8fd014ef 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -9,3 +9,4 @@ jobs: - uses: JuliaRegistries/TagBot@v1 with: token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} From 77de81eff97a0ff96817e2d00416e9e41bbb632f Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 11:16:54 +0100 Subject: [PATCH 10/46] Combine versions, run coverage on v1 --- .github/workflows/Test.yml | 50 +++++++++----------------------------- 1 file changed, 12 insertions(+), 38 deletions(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index c2ff07ca8..a5e7b5048 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -14,16 +14,19 @@ jobs: tests-required: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.version == 'nightly' }} strategy: fail-fast: false matrix: - version: - - '1.0' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. - - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. - os: - - ubuntu-latest - arch: - - x64 + version: [1.0, 1, nightly] + os: [ubuntu-latest] + arch: [x64] + experimental: [false] + #include: # Allow nightly to fail + #- version: nightly + #os: ubuntu-latest + #arch: x64 + #experimental: true steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 @@ -43,37 +46,8 @@ jobs: - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 + if: ${{ matrix.version == '1' }} - uses: codecov/codecov-action@v1 + if: ${{ matrix.version == '1' }} with: file: lcov.info - test-optional: # Tests that are allowed to fail - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - [allowed to fail] - - runs-on: ${{ matrix.os }} - continue-on-error: true - strategy: - fail-fast: false - matrix: - version: - - 'nightly' - os: - - ubuntu-latest - arch: - - x64 - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - 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-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 From 30fe8f680f47f7819c983081544e70034189fe91 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 11:23:51 +0100 Subject: [PATCH 11/46] Quote v1.0 so it is not same as v1 --- .github/workflows/Test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index a5e7b5048..7a0b8ce39 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - version: [1.0, 1, nightly] + version: ['1.0', '1', 'nightly'] os: [ubuntu-latest] arch: [x64] experimental: [false] From d4d25bb8b45f8f013d0e7e3b503d753a1e65ded1 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 14:20:52 +0100 Subject: [PATCH 12/46] Testing doc commands --- .github/workflows/Docs.yml | 4 +--- .github/workflows/Test.yml | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml index f6521667f..7aae36afa 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/Docs.yml @@ -25,9 +25,7 @@ jobs: julia --project=docs -e ' using Pkg Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate()' - - run: | - julia --project=docs -e ' + Pkg.instantiate() using Documenter: doctest using ControlSystems doctest(ControlSystems)' diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 7a0b8ce39..da1d1d615 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -12,7 +12,7 @@ on: jobs: tests-required: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} strategy: From ee7647523b758668c5cfd1bea6262c319b8ae8e1 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 14:51:12 +0100 Subject: [PATCH 13/46] move doctest to test --- .github/workflows/Docs.yml | 5 +---- test/runtests.jl | 7 +++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml index 7aae36afa..408ba9494 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/Docs.yml @@ -25,10 +25,7 @@ jobs: julia --project=docs -e ' using Pkg Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate() - using Documenter: doctest - using ControlSystems - doctest(ControlSystems)' + Pkg.instantiate()' - run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/test/runtests.jl b/test/runtests.jl index aeb10e574..3d5e47ab9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,6 @@ using ControlSystems using Test, LinearAlgebra, Random +using Documenter import Base.isapprox # In framework and test_synthesis import SparseArrays: sparse # In test_matrix_comps import DSP: conv # In test_conversion and test_synthesis @@ -38,4 +39,10 @@ my_tests = [ _t0 = time() run_tests(my_tests) println("Ran all code tests in $(round(time()-_t0, digits=2)) seconds") + + + println("Test Doctests") + _t0 = time() + doctest(ControlSystems) + println("Ran Doctests in $(round(time()-_t0, digits=2)) seconds") end From 880f699ffe122e3d98e8d4f9be36399af070da31 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 15:32:30 +0100 Subject: [PATCH 14/46] add apt needed for doctest to test --- .github/workflows/Test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index da1d1d615..5b5e5b92b 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -12,7 +12,7 @@ on: jobs: tests-required: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + name: 'Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} [required: ${{ matrix.version == nightly }}]' runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} strategy: @@ -33,6 +33,8 @@ jobs: with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} + - name: Install apt deps + run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: actions/cache@v1 env: cache-name: cache-artifacts From bffce7709013b3770aecdb0b606431c140bc6e0d Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 15:36:04 +0100 Subject: [PATCH 15/46] change test jobname, try to fix weird bug --- .github/workflows/Test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 5b5e5b92b..15411d7f3 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -12,7 +12,7 @@ on: jobs: tests-required: - name: 'Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} [required: ${{ matrix.version == nightly }}]' + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} strategy: @@ -21,7 +21,7 @@ jobs: version: ['1.0', '1', 'nightly'] os: [ubuntu-latest] arch: [x64] - experimental: [false] + #experimental: [false] #include: # Allow nightly to fail #- version: nightly #os: ubuntu-latest From ad622e2c3591f4b24a87b14fdd6dae16b3bb0b48 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 16:39:09 +0100 Subject: [PATCH 16/46] move doctest to Docs --- .github/workflows/Docs.yml | 9 +++++++++ .github/workflows/Test.yml | 18 ++++++++---------- docs/make.jl | 2 +- test/runtests.jl | 7 ------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml index 408ba9494..188a5b646 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/Docs.yml @@ -26,6 +26,15 @@ jobs: using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' + - run: | + julia --project=docs -e ' + ENV["PLOTS_TEST"] = "true" + ENV["GKSwstype"] = "nul" + using Documenter: doctest + using ControlSystems, Plots + gr() + default(show=false, size=(800,450)) + doctest(ControlSystems)' - run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 15411d7f3..3728cd5cc 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -14,27 +14,25 @@ jobs: tests-required: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.version == 'nightly' }} + continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: - version: ['1.0', '1', 'nightly'] + version: ['1.0', '1'] os: [ubuntu-latest] arch: [x64] - #experimental: [false] - #include: # Allow nightly to fail - #- version: nightly - #os: ubuntu-latest - #arch: x64 - #experimental: true + experimental: [false] + include: # Allow nightly to fail + - version: nightly + os: ubuntu-latest + arch: x64 + experimental: true steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: actions/cache@v1 env: cache-name: cache-artifacts diff --git a/docs/make.jl b/docs/make.jl index d87259ffe..689bbb8f7 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -3,7 +3,7 @@ ENV["PLOTS_TEST"] = "true" ENV["GKSwstype"] = "nul" using Documenter, ControlSystems, Plots, LinearAlgebra, DSP -import GR # Bug with world age in Plots.jl, see https://github.com/JuliaPlots/Plots.jl/issues/1047 +#import GR # Bug with world age in Plots.jl, see https://github.com/JuliaPlots/Plots.jl/issues/1047 gr() default(show=false, size=(800,450)) diff --git a/test/runtests.jl b/test/runtests.jl index 3d5e47ab9..aeb10e574 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,5 @@ using ControlSystems using Test, LinearAlgebra, Random -using Documenter import Base.isapprox # In framework and test_synthesis import SparseArrays: sparse # In test_matrix_comps import DSP: conv # In test_conversion and test_synthesis @@ -39,10 +38,4 @@ my_tests = [ _t0 = time() run_tests(my_tests) println("Ran all code tests in $(round(time()-_t0, digits=2)) seconds") - - - println("Test Doctests") - _t0 = time() - doctest(ControlSystems) - println("Ran Doctests in $(round(time()-_t0, digits=2)) seconds") end From b9ac0cf50d8829f6f410e10bff4350386ca3c16c Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 17:20:25 +0100 Subject: [PATCH 17/46] Fix imports for docs workflow --- .github/workflows/Docs.yml | 12 ++++++++---- .github/workflows/Test.yml | 10 ++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml index 188a5b646..967dff625 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/Docs.yml @@ -21,21 +21,25 @@ jobs: version: '1' - name: Install apt deps run: sudo apt-get install libgtk-3-dev dvipng texlive - - run: | + - name: Setup docs environment + run: | julia --project=docs -e ' using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - - run: | + - name: Run doctest + run: | julia --project=docs -e ' ENV["PLOTS_TEST"] = "true" ENV["GKSwstype"] = "nul" using Documenter: doctest - using ControlSystems, Plots + using ControlSystems + using Plots, LinearAlgebra, DSP gr() default(show=false, size=(800,450)) doctest(ControlSystems)' - - run: julia --project=docs docs/make.jl + - name: Generate documentation + run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 3728cd5cc..e6694046a 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -14,19 +14,13 @@ jobs: tests-required: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.experimental }} + continue-on-error: ${{ matrix.version == 'nightly' }} # Allow nightly to fail and workflow still count as completed strategy: fail-fast: false matrix: - version: ['1.0', '1'] + version: ['1.0', '1', 'nightly'] os: [ubuntu-latest] arch: [x64] - experimental: [false] - include: # Allow nightly to fail - - version: nightly - os: ubuntu-latest - arch: x64 - experimental: true steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 From bd2f0d52715fada02aae5a2d7b7d09abbb07921f Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 9 Dec 2020 17:49:16 +0100 Subject: [PATCH 18/46] remove explicit doctest call, makedocs includes it --- .github/workflows/Docs.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/Docs.yml b/.github/workflows/Docs.yml index 967dff625..75f1b2914 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/Docs.yml @@ -27,18 +27,7 @@ jobs: using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - - name: Run doctest - run: | - julia --project=docs -e ' - ENV["PLOTS_TEST"] = "true" - ENV["GKSwstype"] = "nul" - using Documenter: doctest - using ControlSystems - using Plots, LinearAlgebra, DSP - gr() - default(show=false, size=(800,450)) - doctest(ControlSystems)' - - name: Generate documentation + - name: Generate and test documentation run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 4bd345979137a3c9e8529104ff3fe919c1c347a9 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Fri, 11 Dec 2020 12:52:07 +0100 Subject: [PATCH 19/46] Fix badges for test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fac67824..c8079b449 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ControlSystems.jl -[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions) +[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ATest) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From 89b004ebbe0aedfa58ea8cc980ed0ef04b1877a4 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 12 Dec 2020 16:22:56 +0100 Subject: [PATCH 20/46] rename workflows --- .github/workflows/{Docs.yml => docs.yml} | 2 +- .github/workflows/{Test.yml => test.yml} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{Docs.yml => docs.yml} (97%) rename .github/workflows/{Test.yml => test.yml} (99%) diff --git a/.github/workflows/Docs.yml b/.github/workflows/docs.yml similarity index 97% rename from .github/workflows/Docs.yml rename to .github/workflows/docs.yml index 75f1b2914..aa8fe9cc8 100644 --- a/.github/workflows/Docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,4 @@ -name: Docs +name: Documentation on: pull_request: diff --git a/.github/workflows/Test.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/Test.yml rename to .github/workflows/test.yml index e6694046a..ea93d1507 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Test +name: CI on: pull_request: From f7e3d0583ef4f0cc1c248db5d769ad2e14bb6fca Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 12 Dec 2020 16:24:00 +0100 Subject: [PATCH 21/46] doctest in runtest --- test/runtests.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/runtests.jl b/test/runtests.jl index aeb10e574..3d5e47ab9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,6 @@ using ControlSystems using Test, LinearAlgebra, Random +using Documenter import Base.isapprox # In framework and test_synthesis import SparseArrays: sparse # In test_matrix_comps import DSP: conv # In test_conversion and test_synthesis @@ -38,4 +39,10 @@ my_tests = [ _t0 = time() run_tests(my_tests) println("Ran all code tests in $(round(time()-_t0, digits=2)) seconds") + + + println("Test Doctests") + _t0 = time() + doctest(ControlSystems) + println("Ran Doctests in $(round(time()-_t0, digits=2)) seconds") end From f27ae78a199653e10dee0f903cc76d605413aa96 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 12 Dec 2020 19:43:41 +0100 Subject: [PATCH 22/46] add apt install to ci test --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ea93d1507..106e5efba 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,6 +27,8 @@ jobs: with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} + - name: Install apt deps + run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: actions/cache@v1 env: cache-name: cache-artifacts From 2cf7067b16cf167a0dc13f6f332d9839e1453917 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 16:41:15 +0100 Subject: [PATCH 23/46] add timeout of 30 minutes --- .github/workflows/docs.yml | 1 + .github/workflows/test.yml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index aa8fe9cc8..c65f597ce 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,6 +14,7 @@ jobs: docs: name: Documentation runs-on: ubuntu-latest + timeout-minutes: 30 steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 106e5efba..ab6d2eb68 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,10 +11,11 @@ on: - '*' jobs: - tests-required: + runtests: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} # Allow nightly to fail and workflow still count as completed + timeout-minutes: 30 strategy: fail-fast: false matrix: From 1332438d8f82501ca857b9214ae6fab071e9395f Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 20:43:32 +0100 Subject: [PATCH 24/46] Set StaticArrays compat to 1.0 and update doctest --- Project.toml | 3 ++- docs/Project.toml | 3 +++ docs/src/man/creating_systems.md | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 73593331f..73e22be5b 100644 --- a/Project.toml +++ b/Project.toml @@ -29,13 +29,14 @@ MacroTools = "0.5" OrdinaryDiffEq = "5.2" Plots = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 1.0" Polynomials = "1.1.10" +StaticArrays = "1.0" julia = "1.0" [extras] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] test = ["Test", "Documenter", "GR", "StaticArrays"] diff --git a/docs/Project.toml b/docs/Project.toml index 2d5b69c7b..633c1f416 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,3 +6,6 @@ GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[compat] +StaticArrays = "1.0" \ No newline at end of file diff --git a/docs/src/man/creating_systems.md b/docs/src/man/creating_systems.md index d475944aa..74e5bac6c 100644 --- a/docs/src/man/creating_systems.md +++ b/docs/src/man/creating_systems.md @@ -121,7 +121,7 @@ D = Continuous-time state-space model julia> HeteroStateSpace(sys, to_sized) -HeteroStateSpace{Continuous,SizedArray{Tuple{2,2},Int64,2,2},SizedArray{Tuple{2,1},Int64,2,2},SizedArray{Tuple{1,2},Int64,2,2},SizedArray{Tuple{1,1},Int64,2,2}} +HeteroStateSpace{Continuous,SizedArray{Tuple{2,2},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{2,1},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{1,2},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{1,1},Int64,2,2,Array{Int64,2}}} A = -5 0 0 -5 From c1c8e6034cdd2d2f3ce3323664a2d260be0d84ff Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 20:52:49 +0100 Subject: [PATCH 25/46] Bind StaticArrays dep to 0.12 for julia 1.0 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 73e22be5b..0edddecec 100644 --- a/Project.toml +++ b/Project.toml @@ -29,7 +29,7 @@ MacroTools = "0.5" OrdinaryDiffEq = "5.2" Plots = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 1.0" Polynomials = "1.1.10" -StaticArrays = "1.0" +StaticArrays = "0.12" julia = "1.0" [extras] From 8a0403d4729be4aa73dae46e06e5a4437acbdd08 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 20:57:07 +0100 Subject: [PATCH 26/46] Update test badge to point to correct workflow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8079b449..17ed8959a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ControlSystems.jl -[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ATest) +[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ATest) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From 1861156dcbc1ec4ae196e9bdf5100f51c468625b Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 22:40:17 +0100 Subject: [PATCH 27/46] Remove StaticArrays restriction, test on julia 1.3 --- .github/workflows/test.yml | 2 +- Project.toml | 1 - docs/Project.toml | 3 --- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab6d2eb68..4cb55396f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - version: ['1.0', '1', 'nightly'] + version: ['1.3', '1', 'nightly'] os: [ubuntu-latest] arch: [x64] steps: diff --git a/Project.toml b/Project.toml index 0edddecec..c04410ff3 100644 --- a/Project.toml +++ b/Project.toml @@ -29,7 +29,6 @@ MacroTools = "0.5" OrdinaryDiffEq = "5.2" Plots = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 1.0" Polynomials = "1.1.10" -StaticArrays = "0.12" julia = "1.0" [extras] diff --git a/docs/Project.toml b/docs/Project.toml index 633c1f416..2d5b69c7b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,6 +6,3 @@ GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[compat] -StaticArrays = "1.0" \ No newline at end of file From 5680c1ba45f0cecc52b72608e302d5e59932a390 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sun, 13 Dec 2020 23:57:56 +0100 Subject: [PATCH 28/46] Move back to test 1.0 with StaticArrays 0.12 --- .github/workflows/test.yml | 2 +- Project.toml | 1 + docs/Project.toml | 3 +++ docs/src/man/creating_systems.md | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4cb55396f..ab6d2eb68 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - version: ['1.3', '1', 'nightly'] + version: ['1.0', '1', 'nightly'] os: [ubuntu-latest] arch: [x64] steps: diff --git a/Project.toml b/Project.toml index c04410ff3..0edddecec 100644 --- a/Project.toml +++ b/Project.toml @@ -29,6 +29,7 @@ MacroTools = "0.5" OrdinaryDiffEq = "5.2" Plots = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 1.0" Polynomials = "1.1.10" +StaticArrays = "0.12" julia = "1.0" [extras] diff --git a/docs/Project.toml b/docs/Project.toml index 2d5b69c7b..c326e8149 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,3 +6,6 @@ GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[compat] +StaticArrays = "0.12" diff --git a/docs/src/man/creating_systems.md b/docs/src/man/creating_systems.md index 74e5bac6c..d475944aa 100644 --- a/docs/src/man/creating_systems.md +++ b/docs/src/man/creating_systems.md @@ -121,7 +121,7 @@ D = Continuous-time state-space model julia> HeteroStateSpace(sys, to_sized) -HeteroStateSpace{Continuous,SizedArray{Tuple{2,2},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{2,1},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{1,2},Int64,2,2,Array{Int64,2}},SizedArray{Tuple{1,1},Int64,2,2,Array{Int64,2}}} +HeteroStateSpace{Continuous,SizedArray{Tuple{2,2},Int64,2,2},SizedArray{Tuple{2,1},Int64,2,2},SizedArray{Tuple{1,2},Int64,2,2},SizedArray{Tuple{1,1},Int64,2,2}} A = -5 0 0 -5 From 7920d07d580b5c846e0f5357249c245498bbd272 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Mon, 14 Dec 2020 00:05:12 +0100 Subject: [PATCH 29/46] Remove unused DOCUMENTER_KEY --- .github/workflows/TagBot.yml | 1 - .github/workflows/docs.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index f8fd014ef..d77d3a0c3 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -9,4 +9,3 @@ jobs: - uses: JuliaRegistries/TagBot@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c65f597ce..0d65fb41d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -32,4 +32,3 @@ jobs: run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} From 1f55060e36c0c2539c628fbde60676aa66194dba Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Mon, 14 Dec 2020 00:25:07 +0100 Subject: [PATCH 30/46] Fix badge link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17ed8959a..8f6aaa33f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ControlSystems.jl -[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ATest) +[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3Atest) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From 7d4bf930f7b1bba10f6b4547a34da356148fd121 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Mon, 14 Dec 2020 00:26:58 +0100 Subject: [PATCH 31/46] Fix badge link (again...) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f6aaa33f..3e6cf5af9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ControlSystems.jl -[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/test/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3Atest) +[![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ACI) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From f2bb4bd7685bc459a9429ea33b6779f8c9b5e4c0 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 14:11:16 +0100 Subject: [PATCH 32/46] Remove StaticArrays compat, move doctest --- .github/workflows/docs.yml | 8 +++++++- Project.toml | 1 - docs/Project.toml | 3 --- test/runtests.jl | 7 ------- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0d65fb41d..671cdaade 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -28,7 +28,13 @@ jobs: using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - - name: Generate and test documentation + - name: Test docs + run: | + julia --project=docs -e ' + using Documenter: doctest + using ControlSystems + doctest(ControlSystems)'' + - name: Generate documentation run: julia --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Project.toml b/Project.toml index 0edddecec..c04410ff3 100644 --- a/Project.toml +++ b/Project.toml @@ -29,7 +29,6 @@ MacroTools = "0.5" OrdinaryDiffEq = "5.2" Plots = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 1.0" Polynomials = "1.1.10" -StaticArrays = "0.12" julia = "1.0" [extras] diff --git a/docs/Project.toml b/docs/Project.toml index c326e8149..2d5b69c7b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,6 +6,3 @@ GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[compat] -StaticArrays = "0.12" diff --git a/test/runtests.jl b/test/runtests.jl index 3d5e47ab9..aeb10e574 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,5 @@ using ControlSystems using Test, LinearAlgebra, Random -using Documenter import Base.isapprox # In framework and test_synthesis import SparseArrays: sparse # In test_matrix_comps import DSP: conv # In test_conversion and test_synthesis @@ -39,10 +38,4 @@ my_tests = [ _t0 = time() run_tests(my_tests) println("Ran all code tests in $(round(time()-_t0, digits=2)) seconds") - - - println("Test Doctests") - _t0 = time() - doctest(ControlSystems) - println("Ran Doctests in $(round(time()-_t0, digits=2)) seconds") end From c117d7aeba665f758d0a993cf6496dc3ee83ebe1 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 14:17:28 +0100 Subject: [PATCH 33/46] Keep compat in docs --- docs/Project.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/Project.toml b/docs/Project.toml index 2d5b69c7b..c326e8149 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,3 +6,6 @@ GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[compat] +StaticArrays = "0.12" From 1b5ef9823d90b9396384b6795fc18839f1edd024 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 14:18:44 +0100 Subject: [PATCH 34/46] Remove extra citation --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 671cdaade..c0194f803 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -33,7 +33,7 @@ jobs: julia --project=docs -e ' using Documenter: doctest using ControlSystems - doctest(ControlSystems)'' + doctest(ControlSystems)' - name: Generate documentation run: julia --project=docs docs/make.jl env: From cc6712418bb8cc936370c72f646f8f55bab0ebec Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 14:42:25 +0100 Subject: [PATCH 35/46] remove docs apt deps from ci --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab6d2eb68..920e00ea0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,8 +28,6 @@ jobs: with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - - name: Install apt deps - run: sudo apt-get install libgtk-3-dev dvipng texlive - uses: actions/cache@v1 env: cache-name: cache-artifacts From d9b21b9330ab71ff6a7763d49e62de8d4e880158 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 15:38:12 +0100 Subject: [PATCH 36/46] add envvars for plots to doctest --- .github/workflows/docs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c0194f803..59d7bd9fe 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,6 +31,8 @@ jobs: - name: Test docs run: | julia --project=docs -e ' + ENV["PLOTS_TEST"] = "true" + ENV["GKSwstype"] = "nul" using Documenter: doctest using ControlSystems doctest(ControlSystems)' From 4772cc9575f9fe2e3924992559f90d6780be8f95 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 16:25:56 +0100 Subject: [PATCH 37/46] Remove StaticArrays from test deps --- Project.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index c04410ff3..4569170ee 100644 --- a/Project.toml +++ b/Project.toml @@ -34,8 +34,7 @@ julia = "1.0" [extras] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Test", "Documenter", "GR", "StaticArrays"] +test = ["Test", "Documenter", "GR"] From d49c1a2f330ece20b3d8db8f39ba057f7d2bb6aa Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 16:30:08 +0100 Subject: [PATCH 38/46] Move ENV setup for docs --- .github/workflows/docs.yml | 2 -- docs/make.jl | 4 ---- docs/src/man/introduction.md | 2 ++ 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 59d7bd9fe..c0194f803 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,8 +31,6 @@ jobs: - name: Test docs run: | julia --project=docs -e ' - ENV["PLOTS_TEST"] = "true" - ENV["GKSwstype"] = "nul" using Documenter: doctest using ControlSystems doctest(ControlSystems)' diff --git a/docs/make.jl b/docs/make.jl index 689bbb8f7..1d72a3eb7 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,7 +1,3 @@ -# Set plot globals -ENV["PLOTS_TEST"] = "true" -ENV["GKSwstype"] = "nul" - using Documenter, ControlSystems, Plots, LinearAlgebra, DSP #import GR # Bug with world age in Plots.jl, see https://github.com/JuliaPlots/Plots.jl/issues/1047 gr() diff --git a/docs/src/man/introduction.md b/docs/src/man/introduction.md index bcf795a75..8eb5f6df6 100644 --- a/docs/src/man/introduction.md +++ b/docs/src/man/introduction.md @@ -14,6 +14,8 @@ DocTestSetup = quote T = P/(1+P) plotsDir = joinpath(dirname(pathof(ControlSystems)), "..", "docs", "build", "plots") mkpath(plotsDir) + ENV["PLOTS_TEST"] = "true" + ENV["GKSwstype"] = "nul" save_docs_plot(name) = Plots.savefig(joinpath(plotsDir,name)) save_docs_plot(p, name) = Plots.savefig(p, joinpath(plotsDir,name)) end From d50784bcd6bbc1b8551582d1a46741db096f2b2e Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 16:36:15 +0100 Subject: [PATCH 39/46] Revert "Move ENV setup for docs" This reverts commit d49c1a2f330ece20b3d8db8f39ba057f7d2bb6aa. --- .github/workflows/docs.yml | 2 ++ docs/make.jl | 4 ++++ docs/src/man/introduction.md | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c0194f803..59d7bd9fe 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,6 +31,8 @@ jobs: - name: Test docs run: | julia --project=docs -e ' + ENV["PLOTS_TEST"] = "true" + ENV["GKSwstype"] = "nul" using Documenter: doctest using ControlSystems doctest(ControlSystems)' diff --git a/docs/make.jl b/docs/make.jl index 1d72a3eb7..689bbb8f7 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,3 +1,7 @@ +# Set plot globals +ENV["PLOTS_TEST"] = "true" +ENV["GKSwstype"] = "nul" + using Documenter, ControlSystems, Plots, LinearAlgebra, DSP #import GR # Bug with world age in Plots.jl, see https://github.com/JuliaPlots/Plots.jl/issues/1047 gr() diff --git a/docs/src/man/introduction.md b/docs/src/man/introduction.md index 8eb5f6df6..bcf795a75 100644 --- a/docs/src/man/introduction.md +++ b/docs/src/man/introduction.md @@ -14,8 +14,6 @@ DocTestSetup = quote T = P/(1+P) plotsDir = joinpath(dirname(pathof(ControlSystems)), "..", "docs", "build", "plots") mkpath(plotsDir) - ENV["PLOTS_TEST"] = "true" - ENV["GKSwstype"] = "nul" save_docs_plot(name) = Plots.savefig(joinpath(plotsDir,name)) save_docs_plot(p, name) = Plots.savefig(p, joinpath(plotsDir,name)) end From cdbfe2008af68be46b9713083e061d22b68a6b39 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 15 Dec 2020 17:33:37 +0100 Subject: [PATCH 40/46] increase timeout limit for ci and docs --- .github/workflows/docs.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 59d7bd9fe..4a7444cc8 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,7 +14,7 @@ jobs: docs: name: Documentation runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 920e00ea0..6bffff87f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} # Allow nightly to fail and workflow still count as completed - timeout-minutes: 30 + timeout-minutes: 45 strategy: fail-fast: false matrix: From 4eb8a0d05cc3f1b71db993d72de72c7fc3a68dc7 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Fri, 1 Jan 2021 21:07:01 +0100 Subject: [PATCH 41/46] Add badge for doc status --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e6cf5af9..3e435c5f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # ControlSystems.jl [![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ACI) +[![Documentation Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Documentation/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ADocumentation) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From f521f6c397f4d98febab9b73ab0ba3a59d6b2562 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 2 Jan 2021 19:18:37 +0100 Subject: [PATCH 42/46] Documentation -> Docs in actions --- .github/workflows/docs.yml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4a7444cc8..4bc3a7932 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,4 @@ -name: Documentation +name: Docs on: pull_request: diff --git a/README.md b/README.md index 3e435c5f0..c674dd925 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # ControlSystems.jl [![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ACI) -[![Documentation Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Documentation/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ADocumentation) +[![Documentation Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Docs/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ADocs) [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From 53e82f9908f3183ee2ba56a411a229912b4e6a11 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 2 Jan 2021 19:37:50 +0100 Subject: [PATCH 43/46] Reduce CI timeout time --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6bffff87f..920e00ea0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.version == 'nightly' }} # Allow nightly to fail and workflow still count as completed - timeout-minutes: 45 + timeout-minutes: 30 strategy: fail-fast: false matrix: From 8d677c61682863475046bf7b4c7df8d111fc35e9 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Sat, 2 Jan 2021 20:29:38 +0100 Subject: [PATCH 44/46] add newline between badges --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c674dd925..0006472bf 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![Build Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/CI/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ACI) [![Documentation Status](https://github.com/JuliaControl/ControlSystems.jl/workflows/Docs/badge.svg)](https://github.com/JuliaControl/ControlSystems.jl/actions?query=workflow%3ADocs) + [![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/C/ControlSystems.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html) [![codecov](https://codecov.io/gh/JuliaControl/ControlSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaControl/ControlSystems.jl) From cb960ef15fbecd2bc97aaf9e84048f56fe49a027 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Tue, 12 Jan 2021 13:27:18 +0100 Subject: [PATCH 45/46] Add strict check for docs, remove double doctest --- .github/workflows/docs.yml | 34 +++++++++++++++++++++------------- docs/make.jl | 3 ++- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4bc3a7932..8107a4a8c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,30 +13,38 @@ on: jobs: docs: name: Documentation - runs-on: ubuntu-latest - timeout-minutes: 45 + strategy: + matrix: + version: [1] + arch: [x86] + os: [ubuntu-latest] + runs-on: ${{ matrix.os }} + timeout-minutes: 30 steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 with: - version: '1' + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} - name: Install apt deps run: sudo apt-get install libgtk-3-dev dvipng texlive + - 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 }}- - name: Setup docs environment run: | julia --project=docs -e ' using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - - name: Test docs - run: | - julia --project=docs -e ' - ENV["PLOTS_TEST"] = "true" - ENV["GKSwstype"] = "nul" - using Documenter: doctest - using ControlSystems - doctest(ControlSystems)' - - name: Generate documentation - run: julia --project=docs docs/make.jl + - name: Test and generate documentation + run: julia --project=docs --color=yes docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/make.jl b/docs/make.jl index 689bbb8f7..942c0ee12 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -30,6 +30,7 @@ println("Making docs") makedocs(modules=[ControlSystems], format=Documenter.HTML(), sitename="ControlSystems.jl", + strict=true, pages=[ "Home" => "index.md", "Guide" => Any[ @@ -47,6 +48,6 @@ makedocs(modules=[ControlSystems], "Plotting" => "lib/plotting.md", ], ] - ) +) deploydocs(repo = "github.com/JuliaControl/ControlSystems.jl.git") From 58d0c645371fc709bb911a46beec7801ae6a0816 Mon Sep 17 00:00:00 2001 From: Albin Heimerson Date: Wed, 13 Jan 2021 08:57:56 +0100 Subject: [PATCH 46/46] Run doctest twice until we figure out strict kw --- .github/workflows/docs.yml | 18 +++++++++++++----- docs/make.jl | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8107a4a8c..5aeb3dbc1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,14 +12,14 @@ on: jobs: docs: - name: Documentation + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + timeout-minutes: 30 strategy: matrix: version: [1] - arch: [x86] os: [ubuntu-latest] - runs-on: ${{ matrix.os }} - timeout-minutes: 30 + arch: [x64] steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 @@ -44,7 +44,15 @@ jobs: using Pkg Pkg.develop(PackageSpec(path=pwd())) Pkg.instantiate()' - - name: Test and generate documentation + - name: Test docs # Test are also run in the makedocs, but there they don't error properly unless we set strict in which case warnings also error + run: | + julia --project=docs -e ' + ENV["PLOTS_TEST"] = "true" + ENV["GKSwstype"] = "nul" + using Documenter: doctest + using ControlSystems + doctest(ControlSystems)' + - name: Generate documentation run: julia --project=docs --color=yes docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/make.jl b/docs/make.jl index 942c0ee12..1df95e1c8 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -30,7 +30,7 @@ println("Making docs") makedocs(modules=[ControlSystems], format=Documenter.HTML(), sitename="ControlSystems.jl", - strict=true, + #strict=true, pages=[ "Home" => "index.md", "Guide" => Any[