mirror of
https://github.com/kennetek/gridfinity-rebuilt-openscad.git
synced 2025-01-08 15:19:43 +00:00
71 lines
1.6 KiB
YAML
71 lines
1.6 KiB
YAML
name: Test
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
PreCommit:
|
|
name: pre-commit
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 💾 Check out repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 🪝 Cache pre-commit hooks
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.cache/pre-commit
|
|
key: "pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml')
|
|
}}"
|
|
|
|
- name: ✨ Install pre-commit
|
|
shell: bash
|
|
run: python3 -m pip install pre-commit
|
|
|
|
- name: 🔥 Test
|
|
run: pre-commit run --show-diff-on-failure --all-files
|
|
|
|
Test:
|
|
name: Unit Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 💾 Check out repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.x"
|
|
|
|
- name: Install OpenSCAD
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install openscad
|
|
|
|
- name: OpenSCAD Build Information
|
|
run: openscad --info
|
|
continue-on-error: true
|
|
|
|
- name: Create Image Directories
|
|
run: mkdir -p base_hole_options baseplate hole_cutouts spiral_vase_base
|
|
working-directory: ./images
|
|
|
|
- name: Run Unit Tests (Headless)
|
|
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a
|
|
with:
|
|
working-directory: ./tests
|
|
run: python3 -m unittest
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: images
|
|
path: images/**/*.png
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: false
|