Fix running KPM in bazel #422
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: Pipeline | |
| on: | |
| pull_request: | |
| push: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '59 23 * * SUN' | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| jobs: | |
| build_docs: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: &install_deps | | |
| apt-get update && apt-get install -y git wget tar | |
| wget https://github.com/casey/just/releases/download/1.55.1/just-1.55.1-x86_64-unknown-linux-musl.tar.gz -P /tmp | |
| tar -xvf /tmp/just-1.55.1-x86_64-unknown-linux-musl.tar.gz -C /tmp/ | |
| mv /tmp/just /usr/bin/ | |
| - uses: actions/checkout@v4 | |
| - name: Generate documentation | |
| run: | | |
| just install-debian-deps --docs | |
| just docs | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: gh-page | |
| path: docs/build/html | |
| - name: Deploy to Github Pages | |
| if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' | |
| run: | | |
| cd docs/build/html | |
| touch .nojekyll | |
| git init | |
| cp ../../../.git/config ./.git/config | |
| git add . | |
| git config --local user.email "push@gha" | |
| git config --local user.name "GHA" | |
| git commit -am "update ${{ github.sha }}" | |
| git push -u origin +HEAD:gh-pages | |
| rm -rf .git | |
| examples: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Generate Topwrap examples | |
| run: | | |
| just install-debian-deps | |
| just examples | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: examples | |
| path: examples/**/build | |
| lint: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Run lint checks | |
| run: | | |
| just install-debian-deps | |
| just test-lint | |
| package_cores: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Pack cores into a Topwrap repository | |
| run: | | |
| just install-debian-deps | |
| just package | |
| tar -cf build/cores_export.tar -C build/export . | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: export_cores | |
| path: build/cores_export.tar | |
| package_test: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Build and test distribution packages | |
| run: | | |
| just install-debian-deps | |
| just build | |
| pyright_check: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Run typing checks | |
| continue-on-error: true | |
| run: | | |
| just install-debian-deps | |
| just pyright --compare | |
| test_kpm_server: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Build and run KPM server | |
| run: | | |
| just install-debian-deps | |
| just test-kpm-server | |
| test_python: | |
| strategy: | |
| matrix: | |
| version: ["3.10", "3.11", "3.12", "3.13"] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| name: test_python ${{ matrix.version }} | |
| steps: | |
| - name: Install just | |
| run: *install_deps | |
| - uses: actions/checkout@v4 | |
| - name: Run Python tests on python ${{ matrix.version }} | |
| run: | | |
| just install-debian-deps | |
| just test ${{ matrix.version }} |