ci(actions): update workflows for Node 24 #74
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 (pythinker-sdk) | |
| on: | |
| pull_request: | |
| paths: | |
| - ".github/workflows/ci-pythinker-sdk.yml" | |
| - "sdks/pythinker-sdk/**" | |
| - "pyproject.toml" | |
| - "uv.lock" | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - ".github/workflows/ci-pythinker-sdk.yml" | |
| - "sdks/pythinker-sdk/**" | |
| - "pyproject.toml" | |
| - "uv.lock" | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pinned from v6.0.2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| id: setup-python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pinned from v6.2.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| allow-prereleases: true | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # pinned from v8.1.0 | |
| with: | |
| version: "0.8.5" | |
| enable-cache: true | |
| cache-dependency-glob: uv.lock | |
| - name: Install dependencies | |
| env: | |
| UV_PYTHON: ${{ steps.setup-python.outputs.python-path }} | |
| run: uv sync --frozen --all-extras --project sdks/pythinker-sdk | |
| - name: Run checks | |
| env: | |
| UV_PYTHON: ${{ steps.setup-python.outputs.python-path }} | |
| run: make check-pythinker-sdk | |
| - name: Run tests | |
| env: | |
| UV_PYTHON: ${{ steps.setup-python.outputs.python-path }} | |
| run: make test-pythinker-sdk | |
| docs: | |
| runs-on: ubuntu-latest | |
| env: | |
| FOOTER_VERSION: ${{ github.ref_name }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pinned from v6.0.2 | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pinned from v6.2.0 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # pinned from v8.1.0 | |
| with: | |
| version: "0.8.5" | |
| enable-cache: true | |
| cache-dependency-glob: uv.lock | |
| - name: Install dependencies | |
| run: uv sync --frozen --all-extras --project sdks/pythinker-sdk | |
| - name: Generate API documentation | |
| run: | | |
| uv run --project sdks/pythinker-sdk pdoc pythinker_sdk \ | |
| --docformat google \ | |
| --footer-text "pythinker-sdk ${FOOTER_VERSION}" \ | |
| -o sdks/pythinker-sdk/docs | |
| - name: Upload docs preview | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # pinned from v7.0.1 | |
| with: | |
| name: docs-preview | |
| path: sdks/pythinker-sdk/docs |