chore!: migrate to ESM, adopt node24 runtime, roll up open Dependabot PRs #247
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: "units-test" | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - 'releases/*' | |
| jobs: | |
| # unit tests | |
| units: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7.0.0 | |
| with: | |
| node-version-file: package.json | |
| cache: npm | |
| - run: npm ci | |
| - run: npm test | |
| # test action works running from the graph | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./ | |
| id: discover | |
| with: | |
| root-dir: ./test-fixtures/multi-project | |
| outputs: | |
| projects-by-command: ${{ steps.discover.outputs.projects-by-command }} | |
| build-python-projects: | |
| name: "Test: ${{ matrix.project.name }}" | |
| runs-on: ubuntu-latest | |
| needs: test | |
| strategy: | |
| matrix: | |
| project: ${{ fromJson(needs.test.outputs.projects-by-command).install }} | |
| defaults: | |
| run: | |
| shell: bash | |
| working-directory: ${{ matrix.project.directory }} | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v7 | |
| - name: Dump project object | |
| run: | | |
| echo '${{ toJson(matrix.project) }}' | |
| - name: Setup Python | |
| uses: actions/setup-python@v7 | |
| with: | |
| python-version-file: ${{ matrix.project.path }} | |
| - run: pipx install poetry==1.8.2 | |
| - run: pipx inject poetry poetry-plugin-bundle==1.3.0 | |
| - run: pipx install pdm==2.12.3 | |
| - run: pipx install poethepoet==0.25.0 | |
| - name: Install project | |
| if: matrix.project.commands.install | |
| run: ${{ matrix.project.commands.install }} | |
| - name: Test project | |
| run: ${{ matrix.project.commands.test }} | |
| - name: Package project | |
| if: matrix.project.commands.package | |
| run: ${{ matrix.project.commands.package }} |