fixes/do-not-reset-toml-files #265
Workflow file for this run
This file contains 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: 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 |