diff --git a/.copier-answers.yaml b/.copier-answers.yaml index b3d1cc0..1935b9e 100644 --- a/.copier-answers.yaml +++ b/.copier-answers.yaml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: b2a4844 +_commit: 225aba1 _src_path: https://github.com/python-project-templates/base.git add_docs: true add_extension: jupyter diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ecdbb75..b8a19f2 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -34,71 +34,76 @@ jobs: node-version: [22.x] steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446 - with: - version: ${{ matrix.python-version }} - - - uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f - with: - version: ${{ matrix.node-version }} - - - name: Install dependencies - run: make develop - - - name: Lint - run: make lint - if: matrix.os == 'ubuntu-latest' - - - name: Checks - run: make checks - if: matrix.os == 'ubuntu-latest' - - - name: Build - run: make build - - - name: Test - run: make coverage - if: matrix.os == 'ubuntu-latest' - - - name: Upload test results (Python) - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 - with: - name: test-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.node-version }} - path: '**/junit.xml' - if: ${{ always() }} - - - name: Publish Unit Test Results - uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0 - with: - files: '**/junit.xml' - if: matrix.os == 'ubuntu-latest' - - - name: Upload coverage - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - - name: Make dist - run: make dist - if: matrix.os == 'ubuntu-latest' - - - uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446 - with: - module: python_template_jupyter - if: matrix.os == 'ubuntu-latest' - - - uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446 - with: - module: python_template_jupyter - if: matrix.os == 'ubuntu-latest' - - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 - with: - name: dist-${{matrix.os}} - path: dist - if: matrix.os == 'ubuntu-latest' - + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Python + uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446 + with: + version: ${{ matrix.python-version }} + + - name: Setup Node.js + uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f + with: + version: ${{ matrix.node-version }} + + - name: Install dependencies + run: make develop + + - name: Lint + run: make lint + if: matrix.os == 'ubuntu-latest' + + - name: Checks + run: make checks + if: matrix.os == 'ubuntu-latest' + + - name: Build + run: make build + + - name: Test + run: make coverage + if: matrix.os == 'ubuntu-latest' + + - name: Upload test results (Python) + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: test-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.node-version }} + path: '**/junit.xml' + if: ${{ always() }} + + - name: Publish test results + uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0 + with: + files: '**/junit.xml' + if: matrix.os == 'ubuntu-latest' + + - name: Upload coverage + uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + with: + token: ${{ secrets.CODECOV_TOKEN }} + + - name: Build distributions + run: make dist + if: matrix.os == 'ubuntu-latest' + + - name: Test wheel + uses: actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446 + with: + module: python_template_jupyter + if: matrix.os == 'ubuntu-latest' + + - name: Test source distribution + uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446 + with: + module: python_template_jupyter + if: matrix.os == 'ubuntu-latest' + + - name: Upload distributions + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: dist-${{matrix.os}} + path: dist + if: matrix.os == 'ubuntu-latest' diff --git a/.github/workflows/copier.yaml b/.github/workflows/copier.yaml index a936d5f..7ce3303 100644 --- a/.github/workflows/copier.yaml +++ b/.github/workflows/copier.yaml @@ -12,6 +12,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions-ext/copier-update@378500315a83b5985e175139a55f1fa5ea6dde09 - with: - token: ${{ secrets.WORKFLOW_TOKEN }} + - name: Update from Copier + uses: actions-ext/copier-update@378500315a83b5985e175139a55f1fa5ea6dde09 + with: + token: ${{ secrets.WORKFLOW_TOKEN }} diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 311750d..b263cd9 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -16,40 +16,44 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446 - - - name: Download dist from build - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 - with: - pattern: dist-ubuntu-latest* - merge-multiple: true - path: dist - run-id: ${{ github.event.workflow_run.id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ github.repository }} - if: github.event_name == 'workflow_run' - - - name: Install from wheel - run: | - uv pip install dist/*.whl - uv pip install dist/*.whl --target . --no-deps - uv pip install yardang - if: github.event_name == 'workflow_run' - - - name: Install from source (manual trigger) - run: | - uv pip install .[develop] - uv pip install yardang - if: github.event_name == 'workflow_dispatch' - - - run: yardang build - - - uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 - with: - publish_branch: gh-pages - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs/html + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Python + uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446 + + - name: Download distributions + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 + with: + pattern: dist-ubuntu-latest* + merge-multiple: true + path: dist + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + if: github.event_name == 'workflow_run' + + - name: Install from wheel + run: | + uv pip install dist/*.whl + uv pip install dist/*.whl --target . --no-deps + uv pip install yardang + if: github.event_name == 'workflow_run' + + - name: Install from source (manual trigger) + run: | + uv pip install .[develop] + uv pip install yardang + if: github.event_name == 'workflow_dispatch' + + - name: Build documentation + run: yardang build + + - name: Publish documentation + uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 + with: + publish_branch: gh-pages + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/html diff --git a/.github/workflows/wiki.yaml b/.github/workflows/wiki.yaml index 4f80bb0..831f804 100644 --- a/.github/workflows/wiki.yaml +++ b/.github/workflows/wiki.yaml @@ -20,11 +20,15 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - - run: cp README.md docs/wiki/Home.md - - uses: Andrew-Chen-Wang/github-wiki-action@1bbb4280446f9630e8e21a18012cbacf3b0f992e # v5.0.6 - with: - path: docs/wiki + - name: Prepare wiki + run: cp README.md docs/wiki/Home.md + + - name: Publish wiki + uses: Andrew-Chen-Wang/github-wiki-action@1bbb4280446f9630e8e21a18012cbacf3b0f992e # v5.0.6 + with: + path: docs/wiki