From 427b3dec998d0a72f348a6e2fbc3bdb1b865a1d5 Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Tue, 13 Oct 2026 12:33:47 -0400 Subject: [PATCH 1/3] Replace broken-link action with lychee for external links The old action only checked internal links, which the Docusaurus build already enforces. lychee checks external links in docs/ and blog/ on PRs, weekly, and on manual dispatch, and fails on dead links. Hosts that need the NYU VPN or a login, and bot-protected sites, are excluded in lychee.toml. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/links.yaml | 45 +++++++++++++++++------------------- lychee.toml | 43 ++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 24 deletions(-) create mode 100644 lychee.toml diff --git a/.github/workflows/links.yaml b/.github/workflows/links.yaml index 0adf235c7a..b4e698ed3b 100644 --- a/.github/workflows/links.yaml +++ b/.github/workflows/links.yaml @@ -1,38 +1,35 @@ +# Internal links are already checked by the Docusaurus build +# (onBrokenLinks: "throw" in docusaurus.config.ts), so this only +# needs to cover external URLs. name: Link checker on: - push: - branches: - - main pull_request: branches: - main + schedule: + - cron: "17 6 * * 1" # weekly: external links rot without any commit + workflow_dispatch: + +permissions: + contents: read jobs: - build: + lychee: name: Link checker runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 - - - name: Install pnpm - uses: pnpm/action-setup@v6 - with: - # Pinned below 11.12.0, whose self-install crashes with - # "Cannot use 'in' operator to search for 'integrity' in undefined". - # https://github.com/pnpm/action-setup/issues/276 - # https://github.com/pnpm/pnpm/issues/12959 - version: 11.11.0 - - - - uses: actions/setup-node@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: - node-version: 22 + persist-credentials: false - - name: MDX Broken Link Checker - uses: KaiSpencer/gh-action-check-broken-links@v0 + - name: Check links + uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0 with: - # Required: The base URL to check links against - # For example: /pages/foo.mdx will be checked against https://mysite.com/foo - baseUrl: 'https://nyu-its.github.io/rts-docs-dev/' - + args: >- + --no-progress + './docs/**/*.md' './docs/**/*.mdx' + './blog/**/*.md' './blog/**/*.mdx' + # Hosts that can't be checked from CI are excluded in lychee.toml. + fail: true + jobSummary: true diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 0000000000..ac081227e0 --- /dev/null +++ b/lychee.toml @@ -0,0 +1,43 @@ +# lychee config, picked up automatically from the repo root by +# .github/workflows/links.yaml. + +# Identify ourselves honestly so site owners can see who is checking. +user_agent = "NYU-RTS-docs-linkcheck/1.0 (+https://github.com/NYU-RTS/rts-docs)" + +max_retries = 3 +timeout = 30 + +# 429 means rate-limited, not dead. +accept = ["100..=103", "200..=299", "429"] + +exclude = [ + # Only reachable on the NYU network / VPN (time out from CI runners) + '^https?://identity\.it\.nyu\.edu', + '^https?://iiq\.nyu\.edu', + '^https?://ood\.torch\.hpc\.nyu\.edu', + '^https?://projects\.hpc\.nyu\.edu', + '^https?://stats\.apps\.cloud\.rt\.nyu\.edu', + + # Require an NYU / vendor login + '^https://(docs|drive)\.google\.com/', + '^https://gemini\.google\.com/', + '^https://www\.schrodinger\.com/license-installation-instructions', + + # Bot protection blocks automated requests + '^https://medium\.com/', + '^https://stackoverflow\.com/', + '^https://www\.linkedin\.com/', + '^https://www\.mathworks\.com/', + '^https://www\.oreilly\.com/', + '^https://researchcomputing\.princeton\.edu/', + '^https://wordnet\.princeton\.edu/', + '^https://persistent\.library\.nyu\.edu/', + '^https://filezilla-project\.org/', + + # Block GitHub runner IPs (405/403 from CI, fine from elsewhere) + '^https://www\.nyu\.edu/', + '^https://info\.gwdg\.de/', + + # Very slow to respond; times out intermittently + '^https://www\.chiark\.greenend\.org\.uk/', +] From 5e11da55bc448d58bc33231e46a5ef2404b21bf3 Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Tue, 13 Oct 2026 12:34:11 -0400 Subject: [PATCH 2/3] Fix dead external links in docs Replace moved or dead links (PuTTY, HPC Carpentry lesson files, sftp, VNC clients, SageMaker, Million Song Dataset, Bcolz), and fix a localhost link and a malformed Hive authorization link. Co-Authored-By: Claude Opus 5.5 --- docs/cloud/03_hpc_bursting_to_cloud/02_visualization.md | 2 +- docs/cloud/04_dataproc/03_computation.md | 2 +- docs/hpc/03_storage/06_large_number_of_small_files.md | 2 +- docs/hpc/04_datasets/01_intro.md | 2 +- docs/hpc/06_tools_and_software/08_utils.mdx | 2 +- docs/hpc/08_ml_ai_hpc/03_pytorch_dpp.md | 2 +- .../12_tutorial_intro_shell_hpc/02_connecting_to_hpc.mdx | 2 +- .../04_writing_reading_files.mdx | 6 +++--- docs/hpc/12_tutorial_intro_shell_hpc/05_wildcards_pipes.mdx | 4 ++-- .../13_tutorial_intro_hpc/07_transferring_files_remote.mdx | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/cloud/03_hpc_bursting_to_cloud/02_visualization.md b/docs/cloud/03_hpc_bursting_to_cloud/02_visualization.md index f6bd43eaed..87001b31e1 100644 --- a/docs/cloud/03_hpc_bursting_to_cloud/02_visualization.md +++ b/docs/cloud/03_hpc_bursting_to_cloud/02_visualization.md @@ -1,6 +1,6 @@ # Visualization Workstations -[vnc-clients]: https://help.ubuntu.com/community/VNC/Clients +[vnc-clients]: https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software The burst cluster includes a partition (`nvgrid`) that can be used to run graphical applications on NVIDIA GPUs for visualization purposes. You can use this partition by following the instructions below. diff --git a/docs/cloud/04_dataproc/03_computation.md b/docs/cloud/04_dataproc/03_computation.md index ab4f867a68..2b26f58602 100644 --- a/docs/cloud/04_dataproc/03_computation.md +++ b/docs/cloud/04_dataproc/03_computation.md @@ -77,7 +77,7 @@ ADD JAR /usr/lib/hive/lib/hive-hcatalog-core.jar ``` See [here](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RowFormats&SerDe) for more information. -Access to Hive databases on NYU Dataproc is derived from HDFS permissions because we use [Storage-Based Authorization](http://storagebasedauthorizationprovider/). To grant read-only access to a Hive database to someone other than yourself, you can run the following command: +Access to Hive databases on NYU Dataproc is derived from HDFS permissions because we use [Storage-Based Authorization](https://cwiki.apache.org/confluence/spaces/Hive/pages/45876440/Storage+Based+Authorization+in+the+Metastore+Server). To grant read-only access to a Hive database to someone other than yourself, you can run the following command: ``` hdfs dfs -setfacl -R -m user:_nyu_edu:r-x /user/hive/warehouse/NetID_nyu_edu.db ``` diff --git a/docs/hpc/03_storage/06_large_number_of_small_files.md b/docs/hpc/03_storage/06_large_number_of_small_files.md index f8ed6782a5..ce7f849baa 100644 --- a/docs/hpc/03_storage/06_large_number_of_small_files.md +++ b/docs/hpc/03_storage/06_large_number_of_small_files.md @@ -100,7 +100,7 @@ LMDB supports reading by many readers and many parallel thread from the same fil One can store data in different way inside LMDB or HDF5. For example we can store binary representation of jpeg, or we can store python numpy array. In the first case file can be read from any language, in the second - only from Python. We can also store objects from other languages - for example tibble in R #### Other Formats -There are other formats like [Bcolz](http://bcolz.blosc.org/), [Zarr](https://github.com/alimanfoo/zarr-python), and others. Some examples can be found [here](https://alimanfoo.github.io/2016/04/14/to-hdf5-and-beyond.html). +There are other formats like [Bcolz](https://github.com/Blosc/bcolz), [Zarr](https://github.com/alimanfoo/zarr-python), and others. Some examples can be found [here](https://alimanfoo.github.io/2016/04/14/to-hdf5-and-beyond.html). ## Benchmarking Code - A benchmarking of various ways of reading data was performed on now retired Prince HPC cluster. You can find the code used to perform that benchmarking and the results [at this repository](https://github.com/nyuhpc/public_ml/tree/master/Data_read_benchmarking). diff --git a/docs/hpc/04_datasets/01_intro.md b/docs/hpc/04_datasets/01_intro.md index 56f326af5d..b03420fb1e 100644 --- a/docs/hpc/04_datasets/01_intro.md +++ b/docs/hpc/04_datasets/01_intro.md @@ -70,7 +70,7 @@ New York University does not own this dataset. Please open the ImageNet site, find the terms of use ([http://image-net.org/download](http://image-net.org/download)), copy them, replace the needed parts with your name, send us an email including the terms with your name - thereby confirming you agree to the these terms. Once you do this, we can grant you access to the copy of the dataset on the cluster. ### Millions Songs -*About data set*: [https://labrosa.ee.columbia.edu/millionsong/](https://labrosa.ee.columbia.edu/millionsong/) +*About data set*: [http://millionsongdataset.com/](http://millionsongdataset.com/) *Dataset is available under* diff --git a/docs/hpc/06_tools_and_software/08_utils.mdx b/docs/hpc/06_tools_and_software/08_utils.mdx index 096c5ac243..c1715a53ff 100644 --- a/docs/hpc/06_tools_and_software/08_utils.mdx +++ b/docs/hpc/06_tools_and_software/08_utils.mdx @@ -41,7 +41,7 @@ or in your `sbatch` file you'll need to add a line like: ``` You'll need to modify the above to use your actual account. -Please see [Slurm: Command reference](http://localhost:3000/docs/hpc/submitting_jobs/slurm_main_commands/) for details. +Please see [Slurm: Command reference](../05_submitting_jobs/02_slurm_main_commands.md) for details. For more information about slurm accounts please see [Slurm Accounts](../01_getting_started/03_Slurm_Accounts/01_intro_slurm_accounts.mdx). diff --git a/docs/hpc/08_ml_ai_hpc/03_pytorch_dpp.md b/docs/hpc/08_ml_ai_hpc/03_pytorch_dpp.md index 4961968321..57575013f7 100644 --- a/docs/hpc/08_ml_ai_hpc/03_pytorch_dpp.md +++ b/docs/hpc/08_ml_ai_hpc/03_pytorch_dpp.md @@ -30,7 +30,7 @@ Here are some webpages and videos: - [YouTube Video](https://www.youtube.com/watch?v=TibQO_xv1zc) - [GitHub Gist](https://gist.github.com/TengdaHan/1dd10d335c7ca6f13810fff41e809904) - [GWDG Webpage](https://info.gwdg.de/wiki/doku.php?id=wiki:hpc:pytorch_on_the_hpc_clusters) -- [SageMaker Webpage](https://sagemaker.readthedocs.io/en/stable/api/training/sdp_versions/latestsmd_data_parallel_pytorch.html) +- [SageMaker Webpage](https://docs.aws.amazon.com/sagemaker/latest/dg/data-parallel.html) :::warning Do not use `DataParallel` in PyTorch for anything since it gives poor performance relative to `DistributedDataParallel`. diff --git a/docs/hpc/12_tutorial_intro_shell_hpc/02_connecting_to_hpc.mdx b/docs/hpc/12_tutorial_intro_shell_hpc/02_connecting_to_hpc.mdx index b8f3218297..61edba2273 100644 --- a/docs/hpc/12_tutorial_intro_shell_hpc/02_connecting_to_hpc.mdx +++ b/docs/hpc/12_tutorial_intro_shell_hpc/02_connecting_to_hpc.mdx @@ -91,7 +91,7 @@ Once the MobaXterm window is open you should see a large button in the middle of It is strictly speaking not necessary to have a terminal running on your local computer in order to access and use a remote system, only a window into the remote system once connected. PuTTY is likely the oldest, most well-known, and widely used software solution to take this approach. -PuTTY is available for [free download](https://www.chiark.torchnd.org.uk/~sgtatham/putty/latest.html). Download the version that is correct for your operating system and install it as you would other software on your Windows system. Once installed it will be available through the start menu or similar. +PuTTY is available for [free download](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). Download the version that is correct for your operating system and install it as you would other software on your Windows system. Once installed it will be available through the start menu or similar. Running PuTTY will not initially produce a terminal but instead a window full of connection options. Putting the address of the remote system in the “Host Name (or IP Address)” box and either pressing enter or clicking the “Open” button should begin the connection process. diff --git a/docs/hpc/12_tutorial_intro_shell_hpc/04_writing_reading_files.mdx b/docs/hpc/12_tutorial_intro_shell_hpc/04_writing_reading_files.mdx index 723b5edff6..b5631a3628 100644 --- a/docs/hpc/12_tutorial_intro_shell_hpc/04_writing_reading_files.mdx +++ b/docs/hpc/12_tutorial_intro_shell_hpc/04_writing_reading_files.mdx @@ -192,7 +192,7 @@ Sometimes it’s not practical to read an entire file with `cat`. The file might Let’s grab and unpack a set of demo files for use later. To do this, we’ll use [`wget`](https://www.gnu.org/software/wget/). ```bash -$ wget https://nyuhpc.github.io/hpc-shell/files/bash-lesson.tar.gz +$ wget https://www.hpc-carpentry.org/hpc-shell/files/bash-lesson.tar.gz ``` :::warning[Problems with wget?] @@ -200,11 +200,11 @@ wget is a stand-alone application for downloading things over HTTP/HTTPS and FTP Some operating systems instead come with cURL, which is the command-line interface to libcurl, a powerful library for programming interactions with remote resources over a wide variety of network protocols. If you have curl but not wget, then try this command instead: ```bash -$ curl -O https://nyuhpc.github.io/hpc-shell/files/bash-lesson.tar.gz +$ curl -O https://www.hpc-carpentry.org/hpc-shell/files/bash-lesson.tar.gz ``` For very large downloads, you might consider using Aria2, which has support for downloading the same file from multiple mirrors. You have to install it separately, but if you have it, try this to get it faster than your neighbors: ```bash -$ aria2c https://nyuhpc.github.io/hpc-shell/files/bash-lesson.tar.gz +$ aria2c https://www.hpc-carpentry.org/hpc-shell/files/bash-lesson.tar.gz ```
diff --git a/docs/hpc/12_tutorial_intro_shell_hpc/05_wildcards_pipes.mdx b/docs/hpc/12_tutorial_intro_shell_hpc/05_wildcards_pipes.mdx index 2e8b97ee1f..6c9d5d7940 100644 --- a/docs/hpc/12_tutorial_intro_shell_hpc/05_wildcards_pipes.mdx +++ b/docs/hpc/12_tutorial_intro_shell_hpc/05_wildcards_pipes.mdx @@ -14,8 +14,8 @@ Objectives :::warning[Required files] If you didn’t get them in the last lesson, make sure to download the example files used in the next few sections: -- Using wget: wget https://nyuhpc.github.io/hpc-shell/files/bash-lesson.tar.gz -- Using a web browser: https://nyuhpc.github.io/hpc-shell/files/bash-lesson.tar.gz +- Using wget: wget https://www.hpc-carpentry.org/hpc-shell/files/bash-lesson.tar.gz +- Using a web browser: https://www.hpc-carpentry.org/hpc-shell/files/bash-lesson.tar.gz ::: Now that we know some of the basic UNIX commands, we are going to explore some more advanced features. The first of these features is the wildcard `*`. In our examples before, we’ve done things to files one at a time and otherwise had to specify things explicitly. The `*` character lets us speed things up and do things across multiple files. diff --git a/docs/hpc/13_tutorial_intro_hpc/07_transferring_files_remote.mdx b/docs/hpc/13_tutorial_intro_hpc/07_transferring_files_remote.mdx index ff47c71ae2..e3f612fba1 100644 --- a/docs/hpc/13_tutorial_intro_hpc/07_transferring_files_remote.mdx +++ b/docs/hpc/13_tutorial_intro_hpc/07_transferring_files_remote.mdx @@ -223,7 +223,7 @@ This command will fail if the remote SSH service uses the default port, 22, inst
## Transferring Files Interactively with FileZilla -FileZilla is a cross-platform client for downloading and uploading files to and from a remote computer. It is absolutely fool-proof and always works quite well. It uses the `sftp` protocol. You can read more about using the sftp protocol in the command line in the [lesson discussion](https://nyuhpc.github.io/hpc-intro/discuss/index.html). +FileZilla is a cross-platform client for downloading and uploading files to and from a remote computer. It is absolutely fool-proof and always works quite well. It uses the `sftp` protocol. You can read more about using the sftp protocol in the command line in the [tutorial introduction](https://services.rt.nyu.edu/docs/hpc/tutorial_intro_hpc/intro_hpc/). Download and install the FileZilla client from [https://filezilla-project.org](https://filezilla-project.org). After installing and opening the program, you should end up with a window with a file browser of your local system on the left hand side of the screen. When you connect to the cluster, your cluster files will appear on the right hand side. From a131686160fba54606ef9918e607418251f841e5 Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Tue, 13 Oct 2026 12:34:12 -0400 Subject: [PATCH 3/3] SHA-pin all GitHub Actions to allowlisted versions Pins match the org allowlist in policy.json. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/code-quality.yml | 8 ++++---- .github/workflows/deploy.yaml | 6 +++--- .github/workflows/lint.yaml | 4 ++-- .github/workflows/preview.yml | 6 +++--- .github/workflows/spellcheck.yaml | 4 ++-- .github/workflows/storage-finder-sync.yml | 8 ++++---- .github/workflows/update-lockfiles.yml | 6 +++--- .github/workflows/vale-test.yml | 4 ++-- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 1aea0162e0..cadb88280e 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -15,15 +15,15 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Node.js - uses: actions/setup-node@v7 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: latest - name: Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 with: # Pinned below 11.12.0, whose self-install crashes with # "Cannot use 'in' operator to search for 'integrity' in undefined". @@ -35,7 +35,7 @@ jobs: run: | pnpm config set store-dir ~/.pnpm-store - - uses: actions/cache@v6 + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 name: Setup pnpm cache with: path: ~/.pnpm-store diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index b0ef596be8..de6248f102 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -15,10 +15,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 with: # Pinned below 11.12.0, whose self-install crashes with # "Cannot use 'in' operator to search for 'integrity' in undefined". @@ -32,7 +32,7 @@ jobs: pnpm run build - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4 + uses: JamesIves/github-pages-deploy-action@fa24774553152dd7873cd16ebd8d959b010c5445 # v4.9.0 with: folder: build branch: gh-pages diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 5f7df45548..4d835186fc 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 # npm (not pnpm) is intentional: remark-cli is installed globally by the # action at /usr/local/lib/node_modules/. pnpm's global store is not on @@ -34,7 +34,7 @@ jobs: run: npm install -g remark-mdx@2 remark-lint-no-undefined-references@4 remark-directive@3 remark-frontmatter@4 - name: remark-lint - uses: reviewdog/action-remark-lint@v5 + uses: reviewdog/action-remark-lint@b59ae6b0c8764e8fe1b72541328b9a19f0f94ae0 # v5.20.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} reporter: github-pr-review diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 10c74be8b9..432eebe6f7 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -23,10 +23,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 with: # Pinned below 11.12.0, whose self-install crashes with # "Cannot use 'in' operator to search for 'integrity' in undefined". @@ -43,7 +43,7 @@ jobs: pnpm run build - name: Deploy preview - uses: rossjrw/pr-preview-action@v1 + uses: rossjrw/pr-preview-action@ffa7509e91a3ec8dfc2e5536c4d5c1acdf7a6de9 # v1.8.1 with: preview-branch: gh-pages source-dir: build diff --git a/.github/workflows/spellcheck.yaml b/.github/workflows/spellcheck.yaml index 54c777f141..6f155d28b5 100644 --- a/.github/workflows/spellcheck.yaml +++ b/.github/workflows/spellcheck.yaml @@ -14,9 +14,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions Repository - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Spell Check Repo - uses: crate-ci/typos@v1.50.2 + uses: crate-ci/typos@00f422f3b19c57bc6338715ebfe3316d38768461 # v1.50.3 with: files: docs/**/**/*.md docs/**/**/*.mdx diff --git a/.github/workflows/storage-finder-sync.yml b/.github/workflows/storage-finder-sync.yml index b727d4fb4c..9485fd3fdf 100644 --- a/.github/workflows/storage-finder-sync.yml +++ b/.github/workflows/storage-finder-sync.yml @@ -13,15 +13,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - name: Set up Bun - uses: oven-sh/setup-bun@v2 + uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 - name: Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 with: version: latest @@ -37,6 +37,6 @@ jobs: bun format - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v7 + uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0 with: commit_message: "chore: sync storage finder data from sheet" diff --git a/.github/workflows/update-lockfiles.yml b/.github/workflows/update-lockfiles.yml index 892656f091..0621cbb711 100644 --- a/.github/workflows/update-lockfiles.yml +++ b/.github/workflows/update-lockfiles.yml @@ -13,9 +13,9 @@ jobs: pixi-update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Set up pixi - uses: prefix-dev/setup-pixi@v0.10.2 + uses: prefix-dev/setup-pixi@d3f436a425481402e6a95a1d1fc10331c708cd9e # v0.10.2 with: run-install: false @@ -25,7 +25,7 @@ jobs: pixi update --json | pixi exec pixi-diff-to-markdown >> diff.md - name: Create pull request - uses: peter-evans/create-pull-request@v8 + uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: Update pixi lockfile diff --git a/.github/workflows/vale-test.yml b/.github/workflows/vale-test.yml index 7dd91e62df..3fbb7eebce 100644 --- a/.github/workflows/vale-test.yml +++ b/.github/workflows/vale-test.yml @@ -15,10 +15,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Run Vale - uses: vale-cli/vale-action@v3 + uses: vale-cli/vale-action@518a9136acc6e6668ce7c00d367051e0941e87ff # v3.0.0 with: version: 3.12.0 files: '["docs/", "src/pages/"]'