Skip to content

ci: Update workflow to fix no such module issue #259

ci: Update workflow to fix no such module issue

ci: Update workflow to fix no such module issue #259

Workflow file for this run

---
name: PullRequest validation
on:
pull_request:
branches:
- main
- staging
- development
jobs:
build:
name: Perform build
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Set PDM version
run: |
echo "pdm_version=$(./.github/workflow_scripts/get-pdm-version-from-lock.awk pdm.lock)" >> $GITHUB_ENV
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
version: ${{ env.pdm_version }}
prerelease: true
enable-pep582: true
allow-python-prereleases: false
- name: Install production dependencies
run: pdm install --prod
- name: Build wheel
run: pdm build
test:
name: Run unit tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Set PDM version
run: |
echo "pdm_version=$(./.github/workflow_scripts/get-pdm-version-from-lock.awk pdm.lock)" >> $GITHUB_ENV
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
version: ${{ env.pdm_version }}
prerelease: true
enable-pep582: true
allow-python-prereleases: false
- name: Install development dependencies
run: pdm install --dev
- name: Run unit tests
run: pdm run pytest
lint:
name: Run linters / Code style checks
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Set PDM version
run: |
echo "pdm_version=$(./.github/workflow_scripts/get-pdm-version-from-lock.awk pdm.lock)" >> $GITHUB_ENV
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
version: ${{ env.pdm_version }}
prerelease: true
enable-pep582: true
allow-python-prereleases: false
- name: Install development dependencies
run: pdm install --dev
- name: Run linters
run: pdm check-style
format:
name: Run code formatting
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Set PDM version
run: |
echo "pdm_version=$(./.github/workflow_scripts/get-pdm-version-from-lock.awk pdm.lock)" >> $GITHUB_ENV
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
version: ${{ env.pdm_version }}
prerelease: true
enable-pep582: true
allow-python-prereleases: false
- name: Install development dependencies
run: pdm install --dev
- name: Run linters
run: pdm format
- name: Check for changed files
run: |
no_changed_files=$(git status --porcelain | grep '.py' | wc -l)
if [ $no_changed_files -gt 0 ];
then
echo "There are changed files:" >&2
git status --porcelain >&2
exit 1
fi
commit-lint:
name: Lint git commit messages
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.9"
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch entire history
- name: Set PDM version
run: |
echo "pdm_version=$(./.github/workflow_scripts/get-pdm-version-from-lock.awk pdm.lock)" >> $GITHUB_ENV
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
version: ${{ env.pdm_version }}
prerelease: true
enable-pep582: true
allow-python-prereleases: false
- name: Install development dependencies
run: pdm install --dev
- name: Run and check for issues
run: |
git fetch origin ${{ github.base_ref }}:target
git fetch origin ${{ github.head_ref }}:source
issues=$(pdm run gitlint --commits "target..source" lint)
issue_count=$(echo -n "$issues" | wc -l)
if [ $issue_count -gt 0 ];
then
echo "There are issues with the commits:" >&2
echo "$issues" >&2
exit 1
fi