diff --git a/.github/workflows/binder-on-pr.yml b/.github/workflows/binder-on-pr.yml index c9c2ac6..7e80f7d 100644 --- a/.github/workflows/binder-on-pr.yml +++ b/.github/workflows/binder-on-pr.yml @@ -1,14 +1,16 @@ name: Binder Badge on: - pull_request_target: + pull_request_target: # zizmor: ignore[dangerous-triggers] does not seem to execute code, binder-link seems safely programmed types: [opened] +permissions: {} + jobs: binder: runs-on: ubuntu-latest permissions: pull-requests: write steps: - - uses: jupyterlab/maintainer-tools/.github/actions/binder-link@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/binder-link@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f57fb78..84f3e97 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,8 @@ on: pull_request: branches: '*' +permissions: {} + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true @@ -17,10 +19,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Install dependencies run: | @@ -37,10 +41,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Install dependencies run: | @@ -69,7 +75,7 @@ jobs: pip uninstall -y "jupyter_ruff" jupyterlab - name: Upload extension packages - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: extension-artifacts path: dist/jupyter_ruff* @@ -82,12 +88,12 @@ jobs: steps: - name: Install Python - uses: actions/setup-python@v6 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.10' architecture: 'x64' - - uses: actions/download-artifact@v8 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: extension-artifacts @@ -115,13 +121,15 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Download extension package - uses: actions/download-artifact@v8 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: extension-artifacts @@ -138,7 +146,7 @@ jobs: run: jlpm install - name: Set up browser cache - uses: actions/cache@v5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: | ${{ github.workspace }}/pw-browsers @@ -155,7 +163,7 @@ jobs: - name: Upload Playwright Test report if: always() - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: jupyter_ruff-playwright-tests path: | diff --git a/.github/workflows/check-release.yml b/.github/workflows/check-release.yml index 712a2c4..379fd02 100644 --- a/.github/workflows/check-release.yml +++ b/.github/workflows/check-release.yml @@ -9,22 +9,26 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true +permissions: {} + jobs: check_release: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Check Release - uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2 + uses: jupyter-server/jupyter_releaser/.github/actions/check-release@cf9c1ac90471e0978ef4d4f106b5d9b8917cb7af # v1.11.2 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Upload Distributions - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: jupyter_ruff-releaser-dist-${{ github.run_number }} path: .jupyter_releaser_checkout/dist diff --git a/.github/workflows/enforce-label.yml b/.github/workflows/enforce-label.yml index 74fc4ae..3a27fb8 100644 --- a/.github/workflows/enforce-label.yml +++ b/.github/workflows/enforce-label.yml @@ -1,8 +1,10 @@ name: Enforce PR label - on: pull_request: types: [labeled, unlabeled, opened, edited, synchronize] + +permissions: {} + jobs: enforce_label: runs-on: ubuntu-latest @@ -10,4 +12,4 @@ jobs: pull-requests: write steps: - name: enforce-triage-label - uses: jupyterlab/maintainer-tools/.github/actions/enforce-label@v1 + uses: jupyterlab/maintainer-tools/.github/actions/enforce-label@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 diff --git a/.github/workflows/prep-release.yml b/.github/workflows/prep-release.yml index 67ecd98..41d48a2 100644 --- a/.github/workflows/prep-release.yml +++ b/.github/workflows/prep-release.yml @@ -23,17 +23,20 @@ on: description: "Use PRs with activity since the last stable git tag" required: false type: boolean + +permissions: {} + jobs: prep_release: runs-on: ubuntu-latest permissions: contents: write steps: - - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Prep Release id: prep-release - uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2 + uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@cf9c1ac90471e0978ef4d4f106b5d9b8917cb7af # v1.11.2 with: token: ${{ secrets.GITHUB_TOKEN }} version_spec: ${{ github.event.inputs.version_spec }} @@ -45,4 +48,6 @@ jobs: - name: "** Next Step **" run: | - echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}" + echo "Optional): Review Draft Release: ${PREP_RELEASE_URL}" + env: + PREP_RELEASE_URL: ${{ steps.prep-release.outputs.release_url }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 6df5d83..98bd10c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -19,17 +19,18 @@ jobs: permissions: id-token: write steps: - - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - - uses: actions/create-github-app-token@v3 + - uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 id: app-token with: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} + permission-contents: write - name: Populate Release id: populate-release - uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2 + uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@cf9c1ac90471e0978ef4d4f106b5d9b8917cb7af # v1.11.2 with: token: ${{ steps.app-token.outputs.token }} branch: ${{ github.event.inputs.branch }} @@ -38,7 +39,7 @@ jobs: - name: Finalize Release id: finalize-release - uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@v2 + uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@cf9c1ac90471e0978ef4d4f106b5d9b8917cb7af # v1.11.2 with: token: ${{ steps.app-token.outputs.token }} release_url: ${{ steps.populate-release.outputs.release_url }} @@ -47,10 +48,14 @@ jobs: if: ${{ success() }} run: | echo "Verify the final release" - echo ${{ steps.finalize-release.outputs.release_url }} + echo "${FINALIZE_RELEASE_URL}" + env: + FINALIZE_RELEASE_URL: ${{ steps.finalize-release.outputs.release_url }} - name: "** Failure Message **" if: ${{ failure() }} run: | echo "Failed to Publish the Draft Release Url:" - echo ${{ steps.populate-release.outputs.release_url }} + echo "${POPULATE_RELEASE_URL}" + env: + POPULATE_RELEASE_URL: ${{ steps.populate-release.outputs.release_url }} diff --git a/.github/workflows/update-integration-tests.yml b/.github/workflows/update-integration-tests.yml index 85f92d1..9d7e5e2 100644 --- a/.github/workflows/update-integration-tests.yml +++ b/.github/workflows/update-integration-tests.yml @@ -29,9 +29,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} + persist-credentials: true - name: Get PR Info id: pr @@ -69,7 +70,7 @@ jobs: fi - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 - name: Install dependencies run: python -m pip install -U "jupyterlab>=4.0.0,<5" @@ -80,7 +81,7 @@ jobs: jlpm python -m pip install . - - uses: jupyterlab/maintainer-tools/.github/actions/update-snapshots@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/update-snapshots@94b14ddfbdd1ed651e9f9343ae2409ab5c73a6a8 # v0.35.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} # Playwright knows how to start JupyterLab server