Skip to content

Commit c65b3ec

Browse files
Merge pull request #730 from freeCodeCamp/main
Create a new pull request by comparing changes across two branches
2 parents a3adc24 + b9f47f8 commit c65b3ec

File tree

18,069 files changed

+586989
-256721
lines changed

Some content is hidden

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

18,069 files changed

+586989
-256721
lines changed

.devcontainer/devcontainer.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "freeCodeCampDC",
3+
"dockerComposeFile": "docker-compose.yml",
4+
"service": "devcontainer",
5+
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
6+
"forwardPorts": [3000, 8000],
7+
"portsAttributes": {
8+
"3000": {
9+
"label": "API",
10+
"onAutoForward": "silent"
11+
},
12+
"8000": {
13+
"label": "Client",
14+
"onAutoForward": "notify"
15+
}
16+
},
17+
"otherPortsAttributes": {
18+
"onAutoForward": "silent"
19+
},
20+
"onCreateCommand": "[ ! -f .env ] && cp sample.env .env || true",
21+
"updateContentCommand": "pnpm install && pnpm seed",
22+
"postAttachCommand": {
23+
"instructions": "bash -c 'echo \"\n\n\n Start a new terminal and run \\`pnpm run develop\\` when you are ready.\n\n\n\"'"
24+
}
25+
}

.devcontainer/docker-compose.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
services:
2+
devcontainer:
3+
depends_on:
4+
- db
5+
- setup
6+
image: mcr.microsoft.com/devcontainers/typescript-node:22
7+
volumes:
8+
- ../..:/workspaces:cached
9+
network_mode: service:db
10+
command: sleep infinity
11+
12+
db:
13+
image: mongo:8.0
14+
container_name: mongodb
15+
command: mongod --replSet rs0
16+
restart: unless-stopped
17+
hostname: mongodb
18+
volumes:
19+
- db-data:/data/db
20+
healthcheck:
21+
test: ['CMD', 'mongosh', '--eval', "db.adminCommand('ping')"]
22+
interval: 2s
23+
retries: 5
24+
25+
setup:
26+
image: mongo:8.0
27+
depends_on:
28+
db:
29+
condition: service_healthy
30+
restart: on-failure
31+
# This will try to initiate the replica set, until it succeeds twice (i.e. until the replica set is already initialized)
32+
command: >
33+
mongosh --host mongodb:27017 --eval '
34+
var cfg = {
35+
_id: "rs0",
36+
members: [
37+
{ _id: 0, host: "mongodb:27017" }
38+
]
39+
};
40+
try {
41+
rs.initiate(cfg);
42+
} catch (err) {
43+
if(err.codeName !== "AlreadyInitialized") throw err;
44+
}
45+
'
46+
47+
volumes:
48+
db-data:
49+
driver: local

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Checklist:
55
- [ ] I have read and followed the [contribution guidelines](https://contribute.freecodecamp.org).
66
- [ ] I have read and followed the [how to open a pull request guide](https://contribute.freecodecamp.org/how-to-open-a-pull-request/).
77
- [ ] My pull request targets the `main` branch of freeCodeCamp.
8-
- [ ] I have tested these changes either locally on my machine, or Gitpod.
8+
- [ ] I have tested these changes either locally on my machine, or GitHub Codespaces.
99

1010
<!--If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.-->
1111

.github/labeler.yml

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
'scope: docs':
2-
- docs/**/*
3-
41
'scope: curriculum':
5-
- curriculum/challenges/**/*
2+
- changed-files:
3+
- any-glob-to-any-file: curriculum/challenges/**/*
64

75
'platform: learn':
8-
- client/**/*
6+
- changed-files:
7+
- any-glob-to-any-file: client/**/*
98

109
'platform: api':
11-
- api-server/**/*
12-
- api/**/*
10+
- changed-files:
11+
- any-glob-to-any-file: api/**/*
1312

1413
'scope: tools/scripts':
15-
- tools/**/*
16-
- .github/**/*
17-
- utils/**/*
18-
- e2e/**/*
14+
- changed-files:
15+
- any-glob-to-any-file:
16+
- tools/**/*
17+
- .github/**/*
18+
- utils/**/*
19+
- e2e/**/*
1920

2021
'scope: i18n':
21-
- any: ['curriculum/challenges/**/*', '!curriculum/challenges/english/**/*']
22-
- docs/i18n/**/*
23-
- client/i18n/**/*
24-
- config/crowdin/**/*
25-
- shared/config/i18n/**/*
22+
- changed-files:
23+
- any-glob-to-any-file:
24+
- client/i18n/**/*
25+
- config/crowdin/**/*
26+
- shared/config/i18n/**/*

.github/workflows/crowdin-download.client-ui.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ env:
1414
jobs:
1515
i18n-download-client-ui-translations:
1616
name: Client
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818

1919
steps:
2020
- name: Checkout Source Files
21-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
21+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2222
with:
2323
token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
2424

.github/workflows/crowdin-upload.client-ui.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ env:
1414
jobs:
1515
i18n-upload-client-ui-files:
1616
name: Client
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818

1919
steps:
2020
- name: Checkout Source Files
21-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
21+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2222

2323
- name: Generate Crowdin Config
2424
uses: freecodecamp/crowdin-action@main

.github/workflows/crowdin-upload.curriculum.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ env:
1414
jobs:
1515
i18n-upload-curriculum-files:
1616
name: Learn
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818

1919
steps:
2020
- name: Checkout Source Files
21-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
21+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2222

2323
- name: Generate Crowdin Config
2424
uses: freecodecamp/crowdin-action@main

.github/workflows/curriculum-i18n-submodule.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ permissions:
1313
jobs:
1414
test-curriculum:
1515
name: Test Curriculum
16-
runs-on: ubuntu-22.04
16+
runs-on: ubuntu-24.04
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
node-version: [20]
20+
node-version: [22]
2121
# Exclude the languages that we currently run in the full CI suite.
2222
locale:
2323
- 'chinese'
@@ -28,19 +28,21 @@ jobs:
2828
- 'swahili'
2929

3030
steps:
31-
- name: Checkout Source Files
32-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
31+
- name: Checkout
32+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
3333
with:
3434
submodules: 'recursive'
3535

36-
- name: Setup pnpm
37-
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d #v3.0.0
38-
3936
- name: Use Node.js ${{ matrix.node-version }}
40-
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
37+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
4138
with:
4239
node-version: ${{ matrix.node-version }}
43-
cache: pnpm
40+
41+
- name: Install pnpm
42+
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4
43+
id: pnpm-install
44+
with:
45+
run_install: false
4446

4547
- name: Set Environment variables
4648
run: |
@@ -65,4 +67,4 @@ jobs:
6567
env:
6668
CURRICULUM_LOCALE: ${{ matrix.locale }}
6769
CLIENT_LOCALE: ${{ matrix.locale }}
68-
run: pnpm test:curriculum
70+
run: pnpm test:curriculum:content

0 commit comments

Comments
 (0)