diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml index a26db5b5..f0ba9205 100644 --- a/.github/workflows/CompatHelper.yml +++ b/.github/workflows/CompatHelper.yml @@ -3,6 +3,7 @@ name: CompatHelper on: schedule: - cron: '00 00 * * *' + workflow_dispatch: jobs: CompatHelper: @@ -16,4 +17,5 @@ jobs: - name: CompatHelper.main() env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7afbf4f3..82afd576 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,18 +21,40 @@ jobs: matrix: julia-version: ['1.6'] julia-arch: [x64] - os: [ubuntu-latest, macOS-latest] + os: [ubuntu-latest, windows-latest] + include: + - julia-version: '1.5' # test on oldest supported version + julia-arch: x64 + os: ubuntu-latest +# - julia-version: 'nightly' # test on latest version +# julia-arch: x64 +# os: ubuntu-latest +# experimental: true env: JULIA_PKG_SERVER: '' steps: - - uses: actions/checkout@v2 - - name: "Set up Julia" + - name: Check out repository + uses: actions/checkout@v2 + - name: Set up Julia uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.julia-version }} arch: ${{ matrix.julia-arch }} - - run: | - julia --project -e 'using Pkg; Pkg.develop(PackageSpec(name="NeuralVerification", url="https://github.com/sisl/NeuralVerification.jl")); Pkg.instantiate()' + - name: Install dependencies + run: | + julia --project --color=yes -e 'using Pkg; + Pkg.develop(PackageSpec(name="NeuralVerification", url="https://github.com/sisl/NeuralVerification.jl")); + Pkg.instantiate(); + Pkg.build(verbose=true)' + shell: bash + - name: Build + run: | + julia --project --color=yes --check-bounds=yes -e 'using Pkg; + Pkg.test(coverage=true); + Pkg.add("Coverage"); + using Coverage; + Codecov.submit(process_folder())' + shell: bash - uses: actions/cache@v1 env: cache-name: cache-artifacts diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4d19e1b9..caa25453 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,15 +13,21 @@ jobs: env: JULIA_PKG_SERVER: '' steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@latest + - name: Check out repository + uses: actions/checkout@v2 + - name: Set up Julia + uses: julia-actions/setup-julia@latest with: version: 1.6 - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(name="NeuralVerification", url="https://github.com/sisl/NeuralVerification.jl")); Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + run: | + julia --project=docs/ -e 'using Pkg; + Pkg.develop(PackageSpec(name="NeuralVerification", url="https://github.com/sisl/NeuralVerification.jl")); + Pkg.develop(PackageSpec(path=pwd())); + Pkg.instantiate()' - name: Build and deploy env: - GKSwstype: nul # Fix for Plots with GR backend - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key + GKSwstype: nul # fix for Plots with GR backend + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # authentication with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # authentication with SSH deploy key run: julia --project=docs/ docs/make.jl diff --git a/Project.toml b/Project.toml index a8a82267..84e6504f 100644 --- a/Project.toml +++ b/Project.toml @@ -14,14 +14,14 @@ Requires = "ae029012-a4dd-5104-9daa-d747884805df" [compat] CommonSolve = "0.1, 0.2" DifferentialEquations = "6" -LazySets = "1.46" +LazySets = "1.46, 1.47, 1.48, 1.49, 1.50, 1.51, 1.52, 1.53" MAT = "0.8, 0.9, 0.10" MathematicalSystems = "0.11" NeuralVerification = "0, 0.1" ReachabilityAnalysis = "0.14.5, 0.15, 0.16" Reexport = "0.2, 1" Requires = "0.5, 1" -julia = "1" +julia = "1.5" [extras] DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" diff --git a/README.md b/README.md index 9dc36086..05b130e7 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![Build Status](https://github.com/JuliaReach/NeuralNetworkAnalysis.jl/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/JuliaReach/NeuralNetworkAnalysis.jl/actions/workflows/ci.yml?query=branch%3Amaster) [![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://juliareach.github.io/NeuralNetworkAnalysis.jl/dev/) [![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/juliareach/NeuralNetworkAnalysis.jl/blob/master/LICENSE) +[![Code coverage](http://codecov.io/github/JuliaReach/NeuralNetworkAnalysis.jl/coverage.svg?branch=master)](https://codecov.io/github/JuliaReach/NeuralNetworkAnalysis.jl?branch=master) [![Join the chat at https://gitter.im/JuliaReach/Lobby](https://badges.gitter.im/JuliaReach/Lobby.svg)](https://gitter.im/JuliaReach/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Methods to verify neural network control systems using reachability analysis diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..69cb7601 --- /dev/null +++ b/codecov.yml @@ -0,0 +1 @@ +comment: false diff --git a/docs/Project.toml b/docs/Project.toml index 806f19b4..b5a89ff5 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -8,6 +8,5 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" [compat] -Documenter = "0.27" MAT = "0.10" Symbolics = "1.4"