Merge pull request #292 from Loop3D/release-please--branches--master #25
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: "📦 Workspace packages" | |
| # Stage 2 of ROADMAP.md (outcome 2): loop_common/loop_interpolation live under | |
| # packages/ as independent uv-workspace members so the interpolation code is | |
| # usable outside the LoopStructural framework. This job installs and tests | |
| # them on their own, separately from the root LoopStructural test suite in | |
| # tester.yml. loopstructural-test waits on packages-test (needs:) so the root | |
| # suite only runs once loop_common/loop_interpolation are confirmed working. | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths: | |
| - 'packages/**' | |
| - .github/workflows/packages.yml | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - 'packages/**' | |
| - .github/workflows/packages.yml | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| packages-test: | |
| name: ${{ matrix.package }} (python ${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| package: [loop_common, loop_interpolation] | |
| os: ${{ fromJSON(vars.BUILD_OS)}} | |
| python-version: ${{ fromJSON(vars.PYTHON_VERSIONS)}} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| version: "latest" | |
| - name: Set up Python ${{ matrix.python-version }} | |
| run: uv python install ${{ matrix.python-version }} | |
| - name: Install package with test extras | |
| run: | | |
| uv sync --package ${{ matrix.package }} --extra tests --python ${{ matrix.python-version }} | |
| - name: pytest | |
| run: | | |
| uv run pytest packages/${{ matrix.package }}/tests | |
| loopstructural-test: | |
| name: LoopStructural (python ${{ matrix.python-version }}) | |
| needs: packages-test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ${{ fromJSON(vars.BUILD_OS)}} | |
| python-version: ${{ fromJSON(vars.PYTHON_VERSIONS)}} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| version: "latest" | |
| - name: Set up Python ${{ matrix.python-version }} | |
| run: uv python install ${{ matrix.python-version }} | |
| - name: Install package with test extras | |
| run: | | |
| uv sync --extra tests --python ${{ matrix.python-version }} | |
| - name: pytest | |
| run: | | |
| uv run pytest tests |