Overhaul PyDesigner Code 2 #31
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: CI | |
on: | |
pull_request: | |
push: | |
branches: master | |
tags: | |
- "**" | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.GH_BRIDGE_PAT }} | |
- name: Set up Python | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
architecture: 'x64' | |
- name: Run Pre-Commit | |
id: pre-commit | |
uses: pre-commit/action@v3.0.0 | |
continue-on-error: true | |
with: | |
extra_args: --all-files | |
- name: Auto-commit changed files | |
id: git-auto-commit | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "Pre-commit autofix" | |
- name: Return pre-commit response | |
if: steps.pre-commit.outcome == 'failure' | |
run: exit 1 | |
pytest: | |
needs: pre-commit | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.GH_BRIDGE_PAT }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Expose GitHub Runtime | |
uses: crazy-max/ghaction-github-runtime@v3 | |
- name: Build Docker image | |
run: docker buildx build -t pydesigner-test -f tests/Dockerfile . \ | |
--cache-to "type=gha,mode=max" \ | |
--cache-from "type=gha" \ | |
- name: Run tests in Docker container | |
run: docker run pydesigner-test | |
- name: Copy test results | |
run: docker cp pydesigner-test:/test_results/ ./test_results | |
- name: Upload test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: ./test_results/results.xml | |
- name: Upload coverage report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: ./test_results/coverage.xml | |
- name: Clean up | |
run: docker rm test-container |