diff --git a/.github/workflows/buildtest.yml b/.github/workflows/buildtest.yml index 8ecc95780..01bb0688d 100644 --- a/.github/workflows/buildtest.yml +++ b/.github/workflows/buildtest.yml @@ -27,6 +27,7 @@ env: jobs: noDeploy: + name: Build and Test runs-on: ubuntu-latest strategy: matrix: @@ -64,6 +65,7 @@ jobs: run: sudo docker exec storm bash -c "cd /opt/storm/build; ctest test --output-on-failure" deploy: + name: Build, Test and Deploy runs-on: ubuntu-latest env: DISTRO: "ubuntu-20.10" @@ -135,3 +137,25 @@ jobs: run: | sudo docker commit storm movesrwth/storm:ci-${{ matrix.debugOrRelease }} sudo docker push movesrwth/storm:ci-${{ matrix.debugOrRelease }} + + notify: + name: Email notification + runs-on: ubuntu-latest + needs: [noDeploy, deploy] + if: always() # set always + steps: + - uses: technote-space/workflow-conclusion-action@v2 + - uses: dawidd6/action-send-mail@v2 + with: + server_address: ${{ secrets.STORM_CI_MAIL_SERVER }} + server_port: 587 + username: ${{ secrets.STORM_CI_MAIL_USERNAME }} + password: ${{ secrets.STORM_CI_MAIL_PASSWORD }} + subject: "[You broke it] CI run failed for ${{ github.repository }}" + body: + "CI job of ${{ github.repository }} has failed for commit ${{ github.sha }}.\n\ + The error type is: ${{ env.WORKFLOW_CONCLUSION }}.\n\n\ + For more information, see https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + to: ${{ secrets.STORM_CI_MAIL_RECIPIENTS }} + from: Github Actions + if: env.WORKFLOW_CONCLUSION != 'success' # notify only if failure diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 26aecd93b..cbce68666 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -19,6 +19,7 @@ env: jobs: deploy: + name: Create documentation runs-on: ubuntu-latest steps: - name: Init Docker @@ -49,3 +50,25 @@ jobs: external_repository: moves-rwth/storm-doc publish_branch: master force_orphan: true + + notify: + name: Email notification + runs-on: ubuntu-latest + needs: [deploy] + if: always() # set always + steps: + - uses: technote-space/workflow-conclusion-action@v2 + - uses: dawidd6/action-send-mail@v2 + with: + server_address: ${{ secrets.STORM_CI_MAIL_SERVER }} + server_port: 587 + username: ${{ secrets.STORM_CI_MAIL_USERNAME }} + password: ${{ secrets.STORM_CI_MAIL_PASSWORD }} + subject: "[You broke it] Doxygen generation failed for ${{ github.repository }}" + body: + "CI job of ${{ github.repository }} has failed for commit ${{ github.sha }}.\n\ + The error type is: ${{ env.WORKFLOW_CONCLUSION }}.\n\n\ + For more information, see https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + to: ${{ secrets.STORM_CI_MAIL_RECIPIENTS }} + from: Github Actions + if: env.WORKFLOW_CONCLUSION != 'success' # notify only if failure diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c8aeb2d8..6899f0b90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,22 +8,23 @@ The releases of major and minor versions contain an overview of changes since th Version 1.6.x ------------- ## Version 1.6.4 (20xx/xx) -- Added an export of check results to json. Use `--exportresult` in the command line interface. +- Added an export of check results to json. Use `--exportresult` in the command line interface. - Added computation of steady state probabilities for DTMC/CTMC in the sparse engine. Use `--steadystate` in the command line interface. - Implemented parsing and model building of Stochastic multiplayer games (SMGs) in the PRISM language. No model checking implemented, for now. +- Added support for continuous integration with Github Actions. ## Version 1.6.3 (2020/11) - Added support for multi-objective model checking of long-run average objectives including mixtures with other kinds of objectives. -- Added support for generating optimal schedulers for globally formulae -- Simulator supports exact arithmetic -- Added switch `--no-simplify` to disable simplification of PRISM programs (which sometimes costs a bit of time on extremely large inputs) -- Fixed issues with JANI inputs concerning +- Added support for generating optimal schedulers for globally formulae. +- Simulator supports exact arithmetic. +- Added switch `--no-simplify` to disable simplification of PRISM programs (which sometimes costs a bit of time on extremely large inputs). +- Fixed issues with JANI inputs concerning . - transient variable expressions in properties, - constants in properties, and - integer variables with either only an upper or only a lower bound. -- `storm-pomdp`: States can be labelled with values for observable predicates -- `storm-pomdp`: (Only API) Track state estimates -- `storm-pomdp`: (Only API) Reduce computation of state estimates to computation on unrolled MDP +- `storm-pomdp`: States can be labelled with values for observable predicates. +- `storm-pomdp`: (Only API) Track state estimates. +- `storm-pomdp`: (Only API) Reduce computation of state estimates to computation on unrolled MDP. ## Version 1.6.2 (2020/09) - Prism program simplification improved. diff --git a/README.md b/README.md index 99265f6f0..7fa7dac2d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ Storm - A Modern Probabilistic Model Checker ============================================ -[![Build Status](https://travis-ci.org/moves-rwth/storm.svg?branch=master)](https://travis-ci.org/moves-rwth/storm) + +[![Build Status](https://github.com/moves-rwth/storm/workflows/Build%20Test/badge.svg)](https://github.com/moves-rwth/storm/actions) [![GitHub release](https://img.shields.io/github/release/moves-rwth/storm.svg)](https://github.com/moves-rwth/storm/releases/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1181896.svg)](https://doi.org/10.5281/zenodo.1181896)