Code formatting #171
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Test | |
| # Builds and tests dftlib with different dependencies | |
| on: | |
| push: | |
| schedule: | |
| # run weekly | |
| - cron: '0 10 * * 3' | |
| # needed to trigger the workflow manually | |
| workflow_dispatch: | |
| pull_request: | |
| jobs: | |
| stormTests: | |
| name: Tests with Stormpy (${{ matrix.stormpy_image }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| stormpy_image: ["ci", "ci-debug"] | |
| steps: | |
| - name: Git clone | |
| uses: actions/checkout@v6 | |
| - name: Build dftlib from Dockerfile | |
| run: | | |
| docker build -t volkm/dftlib . \ | |
| --build-arg STORMPY_BASE=movesrwth/stormpy:${{ matrix.stormpy_image }} \ | |
| --build-arg options="[smt,stormpy,test]" | |
| - name: Run Docker | |
| run: docker run -d -it --name ci volkm/dftlib | |
| - name: Run tests | |
| run: docker exec ci bash -c "cd /opt/dftlib; pytest" | |
| buildTests: | |
| name: Test Python ${{ matrix.python-version }}, Libs ${{ matrix.dependencies }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| dependencies: ["test", "test,smt,stormpy"] | |
| steps: | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Git clone | |
| uses: actions/checkout@v6 | |
| - name: Build dftlib | |
| run: pip install -e .[${{ matrix.dependencies }}] | |
| - name: Run tests | |
| run: pytest | |
| buildDoc: | |
| name: Build documentation (Python ${{ matrix.python-version }}, Libs ${{ matrix.dependencies }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.13"] | |
| dependencies: ["doc,test,smt,stormpy"] | |
| steps: | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install documentation dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -qq -y pandoc | |
| - name: Git clone | |
| uses: actions/checkout@v6 | |
| - name: Build dftlib | |
| run: pip install -e .[${{ matrix.dependencies }}] | |
| - name: Run tests | |
| run: pytest | |
| - name: Build documentation | |
| run: | | |
| cd doc; make html | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: "doc/build/html/" | |
| deploy: | |
| if: github.ref == 'refs/heads/main' | |
| name: Publish documentation | |
| needs: buildDoc | |
| runs-on: ubuntu-latest | |
| # Grant GITHUB_TOKEN the permissions required to make a Pages deployment | |
| permissions: | |
| pages: write # to deploy to Pages | |
| id-token: write # to verify the deployment originates from an appropriate source | |
| # Deploy to the github-pages environment | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |