Skip to content

Migrate dev-dependencies to dependency-groups #47

Migrate dev-dependencies to dependency-groups

Migrate dev-dependencies to dependency-groups #47

name: Build and test the project
on:
push:
branches:
- main
paths-ignore:
- ".devcontainer/Dockerfile"
pull_request:
branches:
- main
paths-ignore:
- ".devcontainer/Dockerfile"
workflow_dispatch:
# IMPORTANT: make sure to use the 'runner user'when running jobs in a container!
# Otherwise there will be 'dubious ownership' issues reported by Git.
# Therefore, make sure to use the '--user 1001' option for the container.
jobs:
build-doc:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build documentation
run: ./tools/build-docs.sh
- name: Upload documentation
uses: actions/upload-artifact@v4
with:
name: documentation
path: "build/html"
retention-days: 1
build-package:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Python package
run: ./tools/build-package.sh
- name: Upload Python package
uses: actions/upload-artifact@v4
with:
name: python-package
path: "dist/*.whl"
retention-days: 1
lint-package:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run linters
run: tools/lint-package.sh
continue-on-error: true
- name: Upload lint results
uses: actions/upload-artifact@v4
with:
name: lint-results
path: "build/*.txt"
retention-days: 1
test-package:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run tests
run: ./tools/test-package.sh
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-results
path: "build/*.xml"
retention-days: 1