diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml deleted file mode 100644 index da266b9..0000000 --- a/.github/workflows/CompatHelper.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: CompatHelper -on: - schedule: - - cron: '00 00 * * *' - workflow_dispatch: -jobs: - CompatHelper: - runs-on: ubuntu-latest - steps: - - name: Pkg.add("CompatHelper") - run: julia -e 'using Pkg; Pkg.add("CompatHelper")' - - 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/codecov.yml b/.github/workflows/codecov.yml deleted file mode 100644 index abd5bdf..0000000 --- a/.github/workflows/codecov.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Code Coverage - -on: [push, pull_request] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@latest - with: - version: '1.8' - - uses: julia-actions/julia-buildpkg@latest - - uses: julia-actions/julia-runtest@latest - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 - with: - file: lcov.info - fail_ci_if_error: true diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml deleted file mode 100644 index 7045837..0000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Documentation - -on: [push, pull_request] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: "Set up Julia" - uses: julia-actions/setup-julia@latest - with: - version: '1.8' - - name: "Install system dependencies" - run: | - sudo apt-get update - sudo apt-get install graphviz ttf-dejavu - - name: "Install Julia dependencies" - run: julia --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();' - - name: "Build and deploy docs" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: julia --project=docs docs/make.jl diff --git a/.github/workflows/julia_ci.yml b/.github/workflows/julia_ci.yml new file mode 100644 index 0000000..9dabe35 --- /dev/null +++ b/.github/workflows/julia_ci.yml @@ -0,0 +1,50 @@ +name: Julia CI/CD + +on: + schedule: + - cron: 0 0 * * * + push: + branches: ["main"] + tags: ["*"] + pull_request: + workflow_dispatch: + inputs: + action: + description: "Action" + required: true + default: "test" + type: choice + options: + - test + - release + version: + description: "Tag and release version:" + required: false + +permissions: + actions: read + checks: read + contents: write + deployments: read + discussions: read + issues: read + packages: read + pages: read + pull-requests: write + repository-projects: read + security-events: read + statuses: read + +jobs: + CI: + if: github.event_name == 'pull_request' || github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.action == 'test') + uses: AlgebraicJulia/.github/.github/workflows/julia_ci.yml@main + secrets: inherit + CompatHelper: + if: github.event_name == 'schedule' + uses: AlgebraicJulia/.github/.github/workflows/julia_compat.yml@main + secrets: inherit + Release: + if: github.event_name == 'workflow_dispatch' && inputs.action == 'release' && inputs.version != '' + uses: AlgebraicJulia/.github/.github/workflows/julia_release.yml@main + secrets: inherit diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index b466305..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Tests -on: [push, pull_request] -jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - julia-version: ['1.6', '1.7', '1.8'] - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v2 - - name: "Set up Julia" - uses: julia-actions/setup-julia@latest - with: - version: ${{ matrix.julia-version }} - - name: "Build package" - uses: julia-actions/julia-buildpkg@v1 - - name: "Run tests" - uses: julia-actions/julia-runtest@v1 diff --git a/README.md b/README.md index bb31473..845515a 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,9 @@ [![Documentation](https://github.com/mehalter/Petri.jl/workflows/Documentation/badge.svg)](https://mehalter.github.io/Petri.jl/stable/) ![Tests](https://github.com/mehalter/Petri.jl/workflows/Tests/badge.svg) -[![codecov](https://codecov.io/gh/mehalter/Petri.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/mehalter/Petri.jl) +[![codecov](https://codecov.io/gh/mehalter/Petri.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/mehalter/Petri.jl) [![DOI](https://zenodo.org/badge/203420191.svg)](https://zenodo.org/badge/latestdoi/203420191) - `Petri.jl` is a Petri net modeling framework for the Julia programming language. `Petri` makes it easy to build complex reaction networks using a simple DSL. Once a model is defined, `Petri.jl` has support to generate ODE solutions and @@ -14,11 +13,11 @@ usage can be found in the documentation. ## Goals - This is related to the - [DiffeqBiological](https://github.com/JuliaDiffEq/DiffEqBiological.jl) Reaction - DSL, but takes a different implementation approach. Instead of building our - framework around symbolic algebra and standard chemical notion, we are working - off the Applied Category Theory approach to reaction networks [[Baez Pollard, 2017](http://math.ucr.edu/home/baez/RxNet.pdf)]. +This is related to the +[DiffeqBiological](https://github.com/JuliaDiffEq/DiffEqBiological.jl) Reaction +DSL, but takes a different implementation approach. Instead of building our +framework around symbolic algebra and standard chemical notion, we are working +off the Applied Category Theory approach to reaction networks [[Baez Pollard, 2017](http://math.ucr.edu/home/baez/RxNet.pdf)]. There are operations that are easy to do on the `Petri.Model` like "add a transition from R to S" that require simultaneously changing multiple parts of