gridfinity-rebuilt-openscad/.github/workflows/ci.yml
2024-08-04 03:31:24 -04:00

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