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