feat: add sliver triangle validation to mesh physics #593
Workflow file for this run
This file contains hidden or 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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| lint-and-type: | |
| name: Lint & Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: "3.12" | |
| enable-cache: true | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| - name: Install dependencies | |
| run: just install | |
| - name: Code Quality | |
| run: just check | |
| - name: Action Quality (actionlint) | |
| uses: reviewdog/action-actionlint@v1 | |
| tests: | |
| name: Tests (${{ matrix.python-version }}) | |
| needs: lint-and-type | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: true | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| - name: Install dependencies | |
| run: just install | |
| - name: Build documentation | |
| run: | | |
| cd docs | |
| uv run sphinx-build -b html -W source build/html | |
| - name: Setup Blender | |
| id: setup-blender | |
| uses: ./.github/actions/setup-blender | |
| with: | |
| version: '4.2.0' | |
| - name: Run tests | |
| env: | |
| BLENDER_PATH: ${{ steps.setup-blender.outputs.blender-path }} | |
| run: just test | |
| - name: Build package | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' && matrix.python-version == '3.12' | |
| run: | | |
| just build | |
| ls -lh dist/ | |
| - name: Upload artifact | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' && matrix.python-version == '3.12' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: blender-extension | |
| path: dist/linkforge-*.zip | |
| retention-days: 7 | |
| check-and-build: | |
| name: Check & Build | |
| needs: [lint-and-type, tests, link-checker] | |
| runs-on: ubuntu-latest | |
| if: always() | |
| steps: | |
| - name: Pass if all jobs succeeded | |
| if: needs.lint-and-type.result == 'success' && needs.tests.result == 'success' && needs.link-checker.result == 'success' | |
| run: exit 0 | |
| - name: Fail if jobs failed | |
| if: needs.lint-and-type.result != 'success' || needs.tests.result != 'success' || needs.link-checker.result != 'success' | |
| run: exit 1 | |
| link-checker: | |
| name: Link Checker | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Link Checker (lychee) | |
| uses: lycheeverse/lychee-action@v2 | |
| with: | |
| args: >- | |
| --verbose --no-progress | |
| --exclude ".*\.local" | |
| --exclude "https://www.mec.ed.tum.de/en/iwb/.*" | |
| --exclude "https://cmp.felk.cvut.cz/~peckama2/" | |
| --exclude "https://www.gnu.org/licenses/gpl-3.0" | |
| --exclude "https://monorepo.tools/" | |
| --exclude "https://www.conventionalcommits.org/" | |
| --exclude "https://github.com/[^/]+$" | |
| --exclude-path "docs/source/.*[a-z0-9]$" | |
| README.md docs/ | |
| fail: true |