Skip to content

Commit 081b617

Browse files
Merge branch 'main' into wip
2 parents b89ef9b + 63b3d60 commit 081b617

File tree

1,700 files changed

+48201
-21782
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,700 files changed

+48201
-21782
lines changed

.eslintignore

Lines changed: 0 additions & 16 deletions
This file was deleted.

.eslintrc

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ updates:
55
- package-ecosystem: 'github-actions'
66
directory: '/'
77
schedule:
8-
interval: 'daily'
8+
interval: 'monthly'
99
labels:
1010
- 'dependencies :arrow_up_small:'
1111
- 'github_actions'
@@ -17,7 +17,7 @@ updates:
1717
directory: '/'
1818
# Check the npm registry for updates every day (weekdays)
1919
schedule:
20-
interval: 'daily'
20+
interval: 'monthly'
2121
labels:
2222
- 'dependencies :arrow_up_small:'
2323
- 'javascript'

.github/labels.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,16 @@
157157
description: "Work on Documentation"
158158
color: "ffffff"
159159

160-
# This label can be added to accept PRs as part of Hacktoberfest
161-
- name: "hacktoberfest-accepted"
162-
description: "Make this PR count for hacktoberfest"
163-
color: "ff7518"
164-
165160
# This Exercism-wide label is added to all automatically created pull requests that help migrate/prepare a track for Exercism v3
166161
- name: "v3-migration 🤖"
167162
description: "Preparing for Exercism v3"
168163
color: "e99695"
169164

165+
# This Exercism-wide label can be used to bulk-close issues in preparation for pausing community contributions
166+
- name: "paused"
167+
description: "Work paused until further notice"
168+
color: "e4e669"
169+
170170
# ----------------------------------------------------------------------------------------- #
171171
# These are the repository-specific labels that augment the Exercise-wide labels defined in #
172172
# https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml. #

.github/pr-commenter.yml

Lines changed: 0 additions & 68 deletions
This file was deleted.

.github/workflows/action-format.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ on:
77
jobs:
88
format:
99
name: 'Format code'
10-
runs-on: ubuntu-latest
10+
runs-on: ubuntu-22.04
1111
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/format')
1212
steps:
1313
- name: 'Post acknowledgement that it will format code'
1414
continue-on-error: true # Never fail the build if this fails
15-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
15+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
1616
with:
1717
github-token: ${{ secrets.GITHUB_TOKEN }}
1818
script: |
19-
github.issues.createComment({
19+
github.rest.issues.createComment({
2020
issue_number: context.issue.number,
2121
owner: context.repo.owner,
2222
repo: context.repo.repo,
@@ -34,7 +34,7 @@ jobs:
3434
id: fork_status
3535
run: |
3636
IS_FORK="$(jq '.head.repo.fork' "/tmp/pr.json")"
37-
echo "::set-output name=fork::$IS_FORK"
37+
echo "fork=$IS_FORK" >> "$GITHUB_OUTPUT"
3838
3939
- name: 'Setup SSH deploy key'
4040
if: steps.fork_status.outputs.fork == 'false'
@@ -60,12 +60,18 @@ jobs:
6060
git clone $HEAD_REPO .
6161
git checkout -b "$HEAD_REF" "origin/$HEAD_REF"
6262
63-
- name: Use Node.js LTS (16.x)
64-
uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93
63+
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901
64+
run: corepack enable pnpm
65+
66+
- name: Use Node.js LTS (22.x)
67+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
6568
with:
66-
node-version: '16'
69+
node-version: 22.x
70+
cache: 'pnpm'
71+
6772
- name: Install project development dependencies
68-
run: npm install --no-save
73+
run: corepack pnpm install --no-save
74+
6975
- name: 'Format code'
7076
run: ./bin/format.sh
7177

@@ -88,11 +94,11 @@ jobs:
8894
8995
- name: 'Post acknowledgement that it has formatted the code'
9096
continue-on-error: true # Never fail the build if this fails
91-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
97+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
9298
with:
9399
github-token: ${{ secrets.GITHUB_TOKEN }}
94100
script: |
95-
github.issues.createComment({
101+
github.rest.issues.createComment({
96102
issue_number: context.issue.number,
97103
owner: context.repo.owner,
98104
repo: context.repo.repo,
@@ -102,11 +108,11 @@ jobs:
102108
- name: 'Post reminder to trigger build manually'
103109
continue-on-error: true # Never fail the build if this fails
104110
if: steps.fork_status.outputs.fork == 'true'
105-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
111+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
106112
with:
107113
github-token: ${{ secrets.GITHUB_TOKEN }}
108114
script: |
109-
github.issues.createComment({
115+
github.rest.issues.createComment({
110116
issue_number: context.issue.number,
111117
owner: context.repo.owner,
112118
repo: context.repo.repo,

.github/workflows/action-sync.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ on:
77
jobs:
88
format:
99
name: 'Sync all exercises'
10-
runs-on: ubuntu-latest
10+
runs-on: ubuntu-22.04
1111
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/sync')
1212
steps:
1313
- name: 'Post acknowledgement that it will sync exercises'
1414
continue-on-error: true # Never fail the build if this fails
15-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
15+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
1616
with:
1717
github-token: ${{ secrets.GITHUB_TOKEN }}
1818
script: |
19-
github.issues.createComment({
19+
github.rest.issues.createComment({
2020
issue_number: context.issue.number,
2121
owner: context.repo.owner,
2222
repo: context.repo.repo,
@@ -34,7 +34,7 @@ jobs:
3434
id: fork_status
3535
run: |
3636
IS_FORK="$(jq '.head.repo.fork' "/tmp/pr.json")"
37-
echo "::set-output name=fork::$IS_FORK"
37+
echo "fork=$IS_FORK" >> "$GITHUB_OUTPUT"
3838
3939
- name: 'Setup SSH deploy key'
4040
if: steps.fork_status.outputs.fork == 'false'
@@ -61,9 +61,11 @@ jobs:
6161
git checkout -b "$HEAD_REF" "origin/$HEAD_REF"
6262
6363
- name: 'Install dependencies'
64-
run: yarn install
64+
run: |
65+
corepack enable pnpm
66+
corepack pnpm install
6567
- name: 'Sync exercises'
66-
run: npx babel-node scripts/sync
68+
run: corepack pnpm node scripts/sync.mjs
6769

6870
- name: 'Commit changes'
6971
run: |
@@ -84,11 +86,11 @@ jobs:
8486
8587
- name: 'Post acknowledgement that it has synced the code'
8688
continue-on-error: true # Never fail the build if this fails
87-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
89+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
8890
with:
8991
github-token: ${{ secrets.GITHUB_TOKEN }}
9092
script: |
91-
github.issues.createComment({
93+
github.rest.issues.createComment({
9294
issue_number: context.issue.number,
9395
owner: context.repo.owner,
9496
repo: context.repo.repo,
@@ -98,11 +100,11 @@ jobs:
98100
- name: 'Post reminder to trigger build manually'
99101
continue-on-error: true # Never fail the build if this fails
100102
if: steps.fork_status.outputs.fork == 'true'
101-
uses: actions/github-script@d4560e157075e2d93aa3022b5b51a42a880f1f93
103+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
102104
with:
103105
github-token: ${{ secrets.GITHUB_TOKEN }}
104106
script: |
105-
github.issues.createComment({
107+
github.rest.issues.createComment({
106108
issue_number: context.issue.number,
107109
owner: context.repo.owner,
108110
repo: context.repo.repo,

.github/workflows/ci.js.yml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,45 @@ on:
99

1010
jobs:
1111
precheck:
12-
runs-on: ubuntu-latest
12+
runs-on: ubuntu-22.04
1313

1414
steps:
15-
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
16-
- name: Use Node.js LTS (16.x)
17-
uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93
15+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
16+
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901
17+
run: corepack enable pnpm
18+
19+
- name: Use Node.js LTS (22.x)
20+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
1821
with:
19-
node-version: '16'
22+
node-version: 22.x
23+
cache: 'pnpm'
2024

2125
- name: Install project dependencies
22-
run: npm ci
26+
run: corepack pnpm install --frozen-lockfile
2327

2428
- name: Run exercism/javascript ci precheck (checks config, lint code, and runs tests) for all exercises
25-
run: npx babel-node scripts/ci-check
29+
run: corepack pnpm node scripts/ci-check.mjs
2630

2731
ci:
28-
runs-on: ubuntu-latest
32+
runs-on: ubuntu-22.04
2933

3034
strategy:
3135
matrix:
32-
node-version: ['16', '17', '18']
36+
node-version: [22.x]
3337

3438
steps:
35-
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
39+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
40+
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901
41+
run: corepack enable pnpm
42+
3643
- name: Use Node.js ${{ matrix.node-version }}
37-
uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93
44+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
3845
with:
3946
node-version: ${{ matrix.node-version }}
47+
cache: 'pnpm'
4048

4149
- name: Install project dependencies
42-
run: npm ci
50+
run: corepack pnpm install --frozen-lockfile
4351

4452
- name: Run exercism/javascript ci (checks config, lint code, and runs tests) for all exercises
45-
run: npx babel-node scripts/ci
53+
run: corepack pnpm node scripts/ci.mjs

.github/workflows/codeql.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616

1717
jobs:
1818
analyze:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-22.04
2020

2121
strategy:
2222
fail-fast: false
@@ -29,11 +29,11 @@ jobs:
2929

3030
steps:
3131
- name: Checkout repository
32-
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
32+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
3333

3434
# Initializes the CodeQL tools for scanning.
3535
- name: Initialize CodeQL
36-
uses: github/codeql-action/init@v2
36+
uses: github/codeql-action/init@v3
3737
with:
3838
languages: ${{ matrix.language }}
3939
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -44,7 +44,7 @@ jobs:
4444
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
4545
# If this step fails, then you should remove it and run the build manually (see below)
4646
- name: Autobuild
47-
uses: github/codeql-action/autobuild@v2
47+
uses: github/codeql-action/autobuild@v3
4848

4949
# ℹ️ Command-line programs to run using the OS shell.
5050
# 📚 https://git.io/JvXDl
@@ -58,4 +58,4 @@ jobs:
5858
# make release
5959

6060
- name: Perform CodeQL Analysis
61-
uses: github/codeql-action/analyze@v2
61+
uses: github/codeql-action/analyze@v3

0 commit comments

Comments
 (0)