Commit Graph

384 Commits

Author SHA1 Message Date
Mrugesh Mohapatra
e5590e56d7
chore: use pnpm v8 for deps (#49892)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-29 20:18:49 +05:30
renovate[bot]
f0106207ee
chore(deps): update github actions (#49842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-25 11:13:59 +05:30
Naomi Carrigan
1d616c733b
feat(.github): comment on i18n failure (#49746)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-24 07:14:06 +00:00
Oliver Eyton-Williams
a0f958189e
chore: update api test suite and include it in run test (#49794) 2023-03-23 16:57:11 +00:00
Mrugesh Mohapatra
496235c4ad
chore: drop the knip workflow (#49768) 2023-03-20 17:06:10 +05:30
renovate[bot]
e0be65b2d3 chore(deps): update github actions 2023-03-18 07:37:14 +00:00
Oliver Eyton-Williams
c498c06259
fix(deps): add missing dependencies + fix knip (#49691)
* refactor: use pnpm dlx over npx

* fix: create config before running knip

* chore: fix challenge-parser dependencies

* chore: add missing client + plugin dependencies

* chore: pin deps
2023-03-13 19:38:19 +05:30
renovate[bot]
a88b97c5b3
chore(deps): update github actions (#49669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 07:24:56 +02:00
Oliver Eyton-Williams
c5984e78e5
fix: only cache pnpm store once (#49662) 2023-03-11 01:10:18 +05:30
Oliver Eyton-Williams
14286f6f8b
chore(.github): cache pnpm store (#49637)
💸
2023-03-10 12:08:40 +00:00
pmelin
90d35945c1
chore(cypress): TS Migration: projects.ts, show-cert-from-superblock.ts and challenges.ts (#49635) 2023-03-10 07:41:25 +00:00
Oliver Eyton-Williams
d7848ae01a
feat: migrate to pnpm for better workspace DX (#49293)
* feat: npm -> pnpm 

This resolves the issues with the gatsby client (gatsby-plugin-pnpm
deals with the fact that gatsby is relying on its own dependencies
being de-duped)
and challenge-editor (which doesn't seem to want to automatically install
codemirror and needed its own eslint config)

* fix: correct mocha path for curriculum tests

* fix: use select workspace with -F not -w

* fix: reorganise packages and restrict hoisting

pnpm works best if the workspaces keep their own dependencies, since
dependencies are not flattened and then what node resolves from a
require is predictable.

@types seem to be a special case and more care is required to prevent
them getting smushed together in the root (hence the .npmrc)

* fix: add types for tools + root

* fix: decouple challenge-auditor from client

* fix: add ui-components types

* fix(client): use the latest types for react 16

* fix: prettify

* fix: prettierignore pnpm-lock

* fix: relax hoisting

Turns out pnpm works just fine with types. I don't know what was going
wrong before, but there are no-longer any type conflicts.

* fix: add @redux-saga/core to fix eslint issue

It seems to only be redux-saga that import/named can't cope with, so it
is probably okay to work around this one.

* chore: add chai to tools/scripts/build

* fix: add store to root for cypress

* fix: allow cypress to download binaries

If we want to keep preventing cypress from downloading binaries, we can
figure out a workaround, but I'm allowing it to ease the transition to
pnpm.

My guess about why this is happening is that npm triggers Cypress's
postinstall script, but pnpm does not (because pnpm install only
installs if necessary, perferring to link)

* chore: re-enable pre/post scripts

* fix: update build scripts for client

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: update engines to use pnpm


* fix: enable choice of (super)block for tests

Only 'nix machines for now.

* chore: pin pnpm to version 7

* chore: remove last npms

Except web + curriculum-server. I'll update them when I start work on
them again.

* fix: lockfile check to catch any package-locks

* fix(action): install pnpm for upcoming tests

* chore: add nodemon to new api

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-02 18:17:44 +00:00
renovate[bot]
a0f0294645 chore(deps): update codesee-io/codesee-action digest to ab0fd09 2023-02-26 18:47:13 +00:00
renovate[bot]
c8606ec6f9
chore(deps): update github/codeql-action digest to 32dc499 (#49502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 11:03:41 +05:30
renovate[bot]
d941153be8
chore(deps): update actions/github-script digest to 98814c5 (#49420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 08:17:11 -08:00
Mrugesh Mohapatra
51217a62db
fix: update github actions trigger configs (#49328) 2023-02-13 16:56:48 +05:30
renovate[bot]
d7787eb0cc
chore(deps): update github/codeql-action digest to 17573ee (#49338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-11 07:30:19 +00:00
Ahmad Abdolsaheb
21eb7c5e21
fix: allow cypress 3rd party TS config files (#49218) 2023-02-01 19:43:51 +05:30
renovate[bot]
870c415177 chore(deps): update github/codeql-action digest to 3ebbd71 2023-01-28 05:03:50 +00:00
Muhammed Mustafa
a1c38b0ff5
feat(workflow): create update license yearly action (#49115) 2023-01-23 15:37:44 +01:00
renovate[bot]
2d35341dbb chore(deps): update github/codeql-action digest to a34ca99 2023-01-21 04:23:17 +00:00
renovate[bot]
becedc8c54
chore(deps): update github/codeql-action digest to 515828d (#49024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-14 12:52:00 +05:30
renovate[bot]
dca62c0430
chore(deps): update github actions (#48951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 02:14:22 +00:00
Mrugesh Mohapatra
1d6e10c38c
fix(ci): add node 18 build, test variants (#48117) 2022-12-19 20:29:50 +05:30
renovate[bot]
3d232a9d11 chore(deps): update github actions 2022-12-17 08:02:56 +00:00
Oliver Eyton-Williams
c8be10ca77
chore: make too many lockfiles error more explicit (#48748) 2022-12-13 21:43:53 +04:00
Sem Bauke
12fd5c4d32
feat: enable TypeScript for Cypress (#48701)
* feat: enable TypeScript for Cypress

* fix: run both js and ts in workflow
2022-12-10 17:12:42 +02:00
renovate[bot]
4ef8ada35c chore(deps): update github/codeql-action digest to a669cc5 2022-12-10 09:42:15 +00:00
Daniel C. Silverstein
0871341c9c
chore(tools/scripts): Upgrade CodeSee workflow to version 2 (#48694)
Update the CodeSee workflow file to latest version.
2022-12-09 09:25:21 +05:30
renovate[bot]
d1d8973085 chore(deps): update github actions 2022-12-03 05:17:25 +00:00
Niraj Nandish
d06b65ff85
fix(actions): errors in mobile cypress action (#48612)
* action: update flutter version in action

* action: update cypress action version to v4

* fix: mobile cypress test file location
2022-12-02 14:21:22 +05:30
renovate[bot]
141c18c35b chore(deps): update github/codeql-action digest to 312e093 2022-11-26 03:57:23 +00:00
renovate[bot]
10c2ac8df3 chore(deps): update github/codeql-action digest to 678fc3a 2022-11-19 04:37:35 +00:00
renovate[bot]
719e360ec2
chore(deps): update github actions 2022-11-14 12:58:02 +05:30
Shaun Hamilton
caf5dd72f9
chore(.github): disable tests on next-api, add label (#48435) 2022-11-09 00:27:50 +05:30
renovate[bot]
733e3645be chore(deps): update github/codeql-action digest to 9e288b0 2022-11-05 03:25:59 +00:00
Mrugesh Mohapatra
cbaa88910e
chore(ci): remove headless from cypress config (#48373) 2022-11-03 13:38:59 +05:30
Mrugesh Mohapatra
47244a33d4
fix: drop npm caches in CI (#48369) 2022-11-02 16:41:55 +05:30
Mrugesh Mohapatra
7cf61dae8d
fix(actions): bump mongodb to 4.4 explicitly (#48362) 2022-11-01 16:11:56 +00:00
renovate[bot]
16adbfde85 chore(deps): update github/codeql-action digest to aacfdb2 2022-10-29 04:41:12 +00:00
renovate[bot]
9968decbfd chore(deps): update github actions 2022-10-22 06:21:21 +00:00
Oliver Eyton-Williams
6f5b372f75
chore: add knip to ci (#48149)
* chore: add knip to ci

* DEBUG: checking things fail

* refactor: split into separate workflow

* fix: restrict to node 16

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* feat: run on schedule only

* Revert "DEBUG: checking things fail"

This reverts commit b8b4fe1bb2.

* chore: rename file & name

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
Co-authored-by: Mrugesh Mohapatra <hi@mrugesh.dev>
2022-10-21 16:15:15 +05:30
Muhammed Mustafa
130634d0ad
feat(crowdin): add arabic language to download workflow (#48127)
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2022-10-20 03:21:18 +05:30
renovate[bot]
a7295b38e0
chore(deps): update github actions to 93ea575 (#48062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 12:55:48 +00:00
Mrugesh Mohapatra
0937ed131e chore: drop extraneous file 2022-10-15 16:45:54 +05:30
Mrugesh Mohapatra
741732be54
refactor: rename workflow files (#48059)
* refactor: rename workflow files

* fix: temporarily disable the mobile workflow
2022-10-15 16:25:21 +05:30
Naomi Carrigan
a6d84a7041
chore(tools): download untranslated files (#48046) 2022-10-15 14:34:35 +05:30
Niraj Nandish
441f11db38
feat: mobile curriculum testing (#47586)
* feat: first draft of action and cypress spec

* feat: test all generated challenges

* fix: better identification of block

* action: update cypress config

* action: upload to dashboard

* action: testing js cert challenges

* fix: unnecessary after user code for Make a Person

* feat: capture console log output for assert test

* fix: remove after seed code

* fix: change const to let

* fix: test

* action: disable js certification

* action: stop checking out branch in action

* action: check out right mobile repo

Co-authored-by: sembauke <semboot699@gmail.com>
2022-10-14 16:57:34 -07:00
Naomi Carrigan
035b475500
fix: lint only the curriculum for curriculum PRs (#48045) 2022-10-15 01:35:39 +05:30
Mrugesh Mohapatra
4f005bf3e2
fix(actions): create crowdin PRs only if they lint (#48023) 2022-10-14 12:44:32 +05:30
Oliver Eyton-Williams
1459bc6879
chore: only run one spec with electron (#47998) 2022-10-12 21:38:08 +05:30
Mrugesh Mohapatra
4e3ce1e7d3
fix(e2e): reduce load on the CI (#47997) 2022-10-12 16:58:58 +05:30
Niraj Nandish
0214eb2488
feat: cypress 10 (#47886)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-10-11 18:40:25 +05:30
Naomi Carrigan
95a724e153
fix: cypress third-party ignore docs (#47940) 2022-10-09 07:14:07 +02:00
renovate[bot]
345095d2c8 chore(deps): update actions/labeler digest to 5c75392 2022-10-08 06:34:38 +00:00
renovate[bot]
830885b9bd chore(deps): update github/codeql-action digest to 2eeff7b 2022-10-08 03:17:23 +00:00
Oliver Eyton-Williams
977911bf84
fix(autoclose): get the files before counting them (#47898) 2022-10-07 12:58:10 +00:00
Naomi Carrigan
a0ffc91aa0
feat: more aggressive autoclose on .gitignore (#47885) 2022-10-07 14:20:45 +05:30
Tom
5a6dc43fed
test: crowdin client downloads (#47839) 2022-10-04 18:17:47 -05:00
Tom
60fd6716b2
test: pretty i18n files on download (#47835) 2022-10-04 15:36:53 -05:00
Oliver Eyton-Williams
fda0322b98
fix: sudo enable writes to locale files (#47832) 2022-10-04 10:17:30 -07:00
Oliver Eyton-Williams
3786af93d9
fix: enable writes to locale files before format (#47823) 2022-10-05 00:15:08 +09:00
Naomi Carrigan
3518d15d50
feat: spam automation (#47811)
* fix(tools): invalid -> spam

* feat: comment on spam

* chore: job name

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2022-10-04 00:04:09 +01:00
renovate[bot]
59aa1a252d chore(deps): update github/codeql-action digest to 64b7bbc 2022-10-01 20:09:26 +00:00
renovate[bot]
e742ff1032 chore(deps): update actions/setup-node digest to 969bd26 2022-10-01 16:26:31 +00:00
renovate[bot]
9e22c437a5 chore(deps): update actions/setup-java digest to a18c333 2022-10-01 12:54:51 +00:00
renovate[bot]
24e51e33a9 chore(deps): update actions/github-script digest to 7dff1a8 2022-10-01 03:34:44 +00:00
renovate[bot]
0a39741d80 chore(deps): update github/codeql-action digest to f630e9a 2022-09-24 04:40:35 +00:00
Naomi Carrigan
608583bfbc
feat(tools): run prettier on JSON (#47595) 2022-09-23 11:57:42 +05:30
Naomi Carrigan
1204faf641
fix(tools): silence the bot (#47585) 2022-09-22 22:04:49 +05:30
renovate[bot]
d471d47a0e chore(deps): update github/codeql-action digest to 83007bb 2022-09-17 06:04:27 +00:00
Oliver Eyton-Williams
ea8ffd386e
fix: download ram more often (#47524) 2022-09-15 11:22:59 -07:00
Naomi Carrigan
f9f9cae7e9
fix(tools): download more ram (#47508) 2022-09-13 09:41:49 +02:00
renovate[bot]
72314fe5a6 chore(deps): update actions/setup-java digest to d854b6d 2022-09-10 11:20:48 +00:00
renovate[bot]
af224577a9 chore(deps): update actions/labeler digest to 2f7477e 2022-09-10 02:57:47 +00:00
renovate[bot]
103cdb3405 chore(deps): update github/codeql-action digest to 7cce9bb 2022-09-03 13:18:20 +00:00
renovate[bot]
76a56c39d1 chore(deps): update github/codeql-action digest to d5cec09 2022-08-27 05:14:39 +00:00
renovate[bot]
94da1daa1d
chore(deps): update actions/github-script digest to c713e51 (#47391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 18:35:39 -07:00
renovate[bot]
4bdbd908c3
chore(deps): pin dependencies (#47336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 17:53:52 +05:30
Naomi Carrigan
afba54eafd
chore: enable german crowdin downloads (#47322) 2022-08-19 08:59:27 +02:00
renovate[bot]
57e7e1bc9e chore(deps): update actions/github-script digest to d50f485 2022-08-13 02:47:38 +00:00
Ahmad Abdolsaheb
29e4a18a56
feat(tools): donation tests (#46633)
* feat: add stripe donate page test for non donors

* fix: revert changes to see if ev is passed correctly

* feat: download artifacts

* fix: add quotations for spec args with global patterns

* fix: remove firefox from cypress donation tests

* fix: trigger action on main push

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* feat: remove matrix and simplify

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-08-08 08:43:23 -07:00
renovate[bot]
b9d5c28272 chore(deps): update github/codeql-action digest to af35bd3 2022-08-06 10:23:10 +00:00
renovate[bot]
caeb9d35a3 chore(deps): update actions/setup-python digest to b55428b 2022-08-06 04:38:16 +00:00
Oliver Eyton-Williams
7818ba55b5
fix(validation): create .env before config (#47143) 2022-08-03 09:54:52 -07:00
Oliver Eyton-Williams
853be8d712
fix: create config before audit (#47142) 2022-08-03 15:06:24 +00:00
Oliver Eyton-Williams
a5188ec78b
fix: create config before auditing i18n challenges (#47137) 2022-08-03 07:03:59 -07:00
Naomi Carrigan
88a9b8842d
feat(tools): validate curriculum PRs (#47116)
* feat(tools): validate curriculum PRs

* fix: syntax issues

* fix: catch failure correctly

* fix: use contains because colon was being weird??
2022-08-02 17:16:23 +05:30
renovate[bot]
78abf47e2e chore(deps): update github/codeql-action digest to 5207709 2022-07-30 02:46:06 +00:00
Mrugesh Mohapatra
1177094245
chore: naming conventions 2022-07-21 20:45:32 +05:30
Naomi Carrigan
41fb69417c
feat(tools): audit i18n challenges (#46968)
* feat(tools): audit i18n challenges


Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-07-21 20:43:47 +05:30
renovate[bot]
e55b3a3476
chore(deps): update github/codeql-action digest to f7b6c00 (#46905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-07-15 19:15:49 +05:30
renovate[bot]
db626a4906
chore(deps): update actions/setup-java digest to 2c7a487 (#46902)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-15 19:13:40 +05:30
renovate[bot]
114e93e894
chore(deps): update actions/setup-node digest to 2fddd88 (#46903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-07-15 19:13:22 +05:30
renovate[bot]
47f04b3335
chore(deps): update actions/setup-python digest to c4e89fa (#46904)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-15 19:12:29 +05:30
Naomi Carrigan
8b8afb5e01
temp: rollback firefox to 101 (#46878)
* temp: pin firefox to 101

* temp: use sudo
2022-07-12 17:26:35 -05:00
Naomi Carrigan
8314e7c69b
chore: update stray chat links (#46778) 2022-07-06 18:19:37 +00:00
Mrugesh Mohapatra
c505a02165
fix(actions): remove the welcome action (#46766) 2022-07-05 23:17:37 +05:30
renovate[bot]
70b8d59ce5
chore(deps): update github/codeql-action digest to e41f8ba (#46737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-02 11:40:44 +05:30
renovate[bot]
da04ebdc20
chore(deps): update github/codeql-action digest to 714ec5a (#46654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-27 12:23:02 +05:30
Naomi Carrigan
fd62be8eb8
fix: workflow again (#46676)
* feat(tools): exclude known bot accounts

* feat(tools): pass in camperbot's token
2022-06-26 21:04:06 +02:00
renovate[bot]
600d37acaa
chore(deps): update actions/setup-java digest to 16cca54 (#46653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-26 22:45:38 +05:30
renovate[bot]
0b7848dab4
chore(deps): update actions/setup-python action to v4 (#46626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-23 21:02:32 +05:30
Naomi Carrigan
e2e313bfc8
fix(tools): welcomer workflow (#46610)
* fix(tools): welcomer workflow

* fix: revert blankspace changes
2022-06-22 13:37:03 +02:00
renovate[bot]
8a72ac8fdf
chore(deps): pin actions/github-script action to 7a5c598 (#46546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-18 10:18:26 +05:30
Mrugesh Mohapatra
c72aa66056
fix: invalid template syntax (#46535) 2022-06-17 13:49:51 +05:30
Naomi Carrigan
45c7ba5333
feat: new contributor welcome (#46529) 2022-06-16 14:38:50 -07:00
Mrugesh Mohapatra
011a6772ae
fix(actions): delete welcome workflow (#46528) 2022-06-16 23:17:53 +03:00
Mikayil
6450d11001
fix(actions): typo in workflow title (#46512)
Typo (translions) in workflow title #46500 

fixed typo "translions" in workflow title to "translations"
2022-06-15 18:31:16 +02:00
Mrugesh Mohapatra
fdd89069c4
feat: add workflow for new contributors (#46479) 2022-06-13 21:18:59 +05:30
Mrugesh Mohapatra
bbf21fec68
fix(actions): drop npm caching (#46480) 2022-06-13 17:57:21 +05:30
Mrugesh Mohapatra
0d88cb4b2d chore: rename actions for consistency 2022-06-13 15:12:53 +05:30
renovate[bot]
fecbf5fed0
chore(deps): update actions/setup-node digest to eeb10cf (#46449)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-12 01:14:55 +05:30
renovate[bot]
9623cd7b46
chore(deps): update github/codeql-action digest to a6611b8 (#46317)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-04 11:56:51 +05:30
Oliver Eyton-Williams
00998b5aa9
test: reduce flake (#46235)
* test: increase timeouts for slow operations

* test: ignore ChunkLoadErrors again

* test: clean up commands

* Revert "fix(cypress): disable electron due to timeouts (#46231)"

This reverts commit 2b884d9dd9.

* test: various minor refactors
2022-05-31 00:27:32 +05:30
Mrugesh Mohapatra
2b884d9dd9
fix(cypress): disable electron due to timeouts (#46231) 2022-05-30 18:06:18 +01:00
Oliver Eyton-Williams
1fb1a090e4
test: allow CI to install current Cypress version (#46172) 2022-05-27 11:24:48 +02:00
renovate[bot]
385816436f
fix(deps): pin dependencies (#46128)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 12:57:08 +05:30
Mrugesh Mohapatra
359b823247
chore: drop dependency-review action (#46121) 2022-05-23 21:20:44 +05:30
Niraj Nandish
0f49664db2
fix(ci): update workspaces to pass NodeJS CI (#45980) 2022-05-15 20:14:25 +05:30
Naveen
2d05f98430
feat(.github): add dependency review action (#45879)
* chore(deps): Included dependency review

> Dependency Review GitHub Action in your repository to enforce dependency reviews on your pull requests.
> The action scans for vulnerable versions of dependencies introduced by package version changes in pull requests,
> and warns you about the associated security vulnerabilities.
> This gives you better visibility of what's changing in a pull request,
> and helps prevent vulnerabilities being added to your repository.

https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement

* Update .github/workflows/dependency-review.yml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-05-10 15:31:02 +01:00
Oliver Eyton-Williams
cf4b9a1557
feat: client overhaul proof of concept (#45844)
* chore: initial setup of web package

This is *not* a workspace, yet, because it would be nice to use the
latest React, but /client can't migrate (yet).

Having two React versions creates issues in workspaces since /.bin/next
gets hoisted to root... and finds the root React version :(

* feat: add config for next

* fix: use jsx-runtime for web linting

* chore: init curriculum-server with json-server

* chore: integrate curriculum-server with TS/eslint

* feat: add patch script

json-server doesn't like keys with '/'s in so, for now I'm just patching
them out.

This lets us keep a strong separation between this WIP and the rest of
the code.

* fix: use port 8000 to avoid conflicts

* feat: crude ISR demo using challenge pages

* feat: extend ISR demo to use params

* feat: return props for specific superblocks

* chore: re-organise folders

* refactor: put data fetching in a single module

* refactor: challenge page slightly

* feat: add link to test ISR

You can see that, if you run next dev, the linked page gets regenerated
whenever you navigate to it.  However, if you run next build that is no
longer the case and the page has to be reloaded for the user to see the
latest version.

The implication is that we'll need another method (Web worker, probably)
to detect if the page needs to be updated.

* feat: render static paths for rwd

* feat: add monaco Editor

* feat: send less data via props

Rather than sending superblocks, this now sends blocks. Next step, just
the challenge!

* fix: only send individual challenge's data

* feat: send /learn/stuff/<id> to the challenge page

* fix: redirect to path with trailing id

* fix: handle all possible path prefixes

* feat: add superblocks with trailing ids

* chore: rename block -> blockOrId

* chore: remove logs

* fix: return notFound if page id is missing

* chore: add a note about increasing TS strictness

* feat: serverside redirects

This should be a touch more performant, but mostly it separates the
concerns.

Since the server already has the responsibility of choosing what pages
to render, redirects fit naturally with its concerns.

* refactor: clean up param validation

* feat: create list of blocks in superblock

* feat: add challenge links to map

* feat: link to full path, not just id

* refactor: ensure props match getStaticProps

By specifying the props for GetStaticProps we ensure that it returns the
expected data and use InferGetStaticPropsType to get the type out again
for use in the component

* feat: improve and document dev experience

* refactor: separate routing from rendering

* refactor: extract routing logic into functions

* refactor: naming consistency

* refactor: move data wrangling into get-curriculum

* refactor: align blockOrId and id

* chore: remove the server from workspaces

* chore: remove the lock

* docs: paths

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* chore: install before linting

* fix: create env.json before installing new client

* chore: ignore generated json file

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2022-05-09 11:30:15 -05:00
Naveen
f2580f58a6
chore: set permissions for GitHub actions (#45876)
* chore: Set permissions for GitHub actions

 Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>

* Update .github/workflows/codeql-analysis.yml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/labeler.yaml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/node.js-tests-upcoming.yml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/node.js-tests.yml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/codeql-analysis.yml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/labeler.yaml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

* Update .github/workflows/labeler.yaml

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-05-08 15:17:44 +05:30
Huyen Nguyen
ebf7186b44
chore: correct comments in github workflows files (#45855) 2022-05-03 11:23:02 -07:00
Oliver Eyton-Williams
4cc20172c5
fix: fallback to english challenges (#45635)
* fix: fallback to english challenges

All challenges will use the english version if a translated file is not
available.  SHOW_NEW_CURRICULUM still gates what's shown in the client.

* refactor: use closures to simplify createChallenge

* refactor: remove messy destructure

* refactor: add meta via helper

* fix: fallback to [] for meta.required

* fix: repair challenge.block

* refactor: use CONST_CASE for meta + challenge dirs

* fix: catch empty superblocks immediately

* fix: clean up path.resolves

* fix: invalid syntax in JS project steps

* fix: default to english comments and relax tests

Instead of always throwing errors when a comment is not translated, the
tests now warn while SHOW_UPCOMING_CHANGES is true, so that tests will
pass while we're developing and allow translators time to work.

They still throw when SHOW_UPCOMING_CHANGES is false to catch issues
in production

* test: update createCommentMap test

* refactor: delete stale comment

* refactor: clarify validate with explanatory consts

* feat: throw if audited cert falls back to english

* fix: stop testing upcoming localized curriculum
2022-04-15 09:17:49 -05:00
renovate[bot]
770983a02b
chore(deps): update actions/upload-artifact action to v3 (#45491)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 07:05:26 -07:00
Oliver Eyton-Williams
f485bc1c16
chore: update CI tests (#45401)
* chore: echo npm version in CI (as debugging info)

* chore: remove redundant alterations to .env

sample.env already has SHOW_NEW_CURRICULUM=true
2022-03-10 10:09:06 -08:00
Mrugesh Mohapatra
984a2f2bc2
fix(ci/cd): chill-out on weekends (#45365) 2022-03-07 14:15:45 +01:00
Naomi Carrigan
93075abae0
fix: skip untranslated files (#45336) 2022-03-04 13:06:33 +05:30
renovate[bot]
f5c0c2bf7a
chore(deps): update actions/setup-python action to v3 (#45330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 13:43:37 +05:30
renovate[bot]
d96ab11ffd
chore(deps): update actions/setup-node action to v3 (#45329)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 13:42:39 +05:30
renovate[bot]
b6de2b80d9
chore(deps): update actions/setup-java action to v3 (#45328)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 13:42:14 +05:30
renovate[bot]
bae89da34f
chore(deps): update actions/labeler action to v4 (#45327)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 13:41:44 +05:30
renovate[bot]
7673ce9111
chore(deps): update actions/download-artifact action to v3 (#45325)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 13:41:11 +05:30
renovate[bot]
15232456b1
chore(deps): update actions/checkout action to v3 (#45324)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 06:29:31 +00:00
Renovate Bot
8af94c68c9
chore(deps): update actions/github-script action to v6 2022-03-03 06:12:27 +00:00
Mrugesh Mohapatra
cafe0762aa
fix(ci): reduce runners consumption - codesee (#45252) 2022-02-25 19:50:58 +05:30
Naomi Carrigan
abdbc58a3f
chore: DRY out crowdin workflows (#45078) 2022-02-24 16:33:02 +05:30
Mrugesh Mohapatra
94be3c3e7d
fix: ensure only one lockfile is used (#45230)
* fix: ensure only one lockfile is used

* fix: remove extra lockfiles
2022-02-24 09:23:30 +01:00
Naomi Carrigan
2147038e76
feat(tools): enable german docs download (#44994) 2022-02-10 12:14:21 -06:00
Krzysztof G
a47610c0f0
fix(tools): autoclose syntax error (#44987) 2022-02-01 17:29:21 +07:00
nhcarrigan
33ddfd01fa
fix(tools): update autoclose workflow (#44917) 2022-01-25 14:59:45 -06:00
Oliver Eyton-Williams
7216ca55cc
refactor: organise TypeScript config and migrate helpers (#44747)
* feat: allow more 1000 steps to be created at once

* refactor: start migrating to typescript

* refactor: delete-step to ts

* refactor: migrated some helpers

* refactor: migrate create-empty-steps

* refactor: migrate create-step-between

* refactor: finish migrating to TS

* refactor: migrate tests

* fix: ensure mock.restore is done after each test

* fix: prevent double-tscing

* fix: repair the tests

* chore: use ts-node for scripts

We don't need the performance boost of incremental compilation and
ts-node is easier to work with

* refactor: consolidate tsconfigs

* refactor: replace gulp

* fix: use ts-node for build-curriculum

* fix: allow ts compilation of config

* feat: create and use create:config script

* fix: add /config to eslint projects

* fix: remove gulp script
2022-01-25 11:34:16 +01:00
nhcarrigan
d050da3203
feat(tools): enable japanese download (#44826) 2022-01-20 10:01:09 +05:30
Nicholas Carrigan (he/him)
54317be92f
fix(.github): more workflow tweaks (#44741)
* chore: commit messages

* fix: add plugin name
2022-01-10 14:38:40 +00:00
Nicholas Carrigan (he/him)
c8146f031e
fix: workflow run errors (#44699)
* fix: workflow run errors

* temp: comment out delete step

* fix: update yaml to bring parity with action updates
2022-01-08 18:32:03 +05:30
Nicholas Carrigan (he/him)
b976b316d6
chore: migrate crowdin workflows (#44674) 2022-01-05 20:55:24 +05:30
Oliver Eyton-Williams
36363f277d
test: enable tests for steps (#44550)
* fix: handle missing solutions correctly

Rather than creating an [[]] the parser now creates [] which isEmpty().
This makes the test suite check the next challenge for a solution.

In addition, the logic for testing solutions was fixed.

* chore: update snapshots

* test: build new superblock in node.js-tests CI

* test: allow forward slash in superblock slug

* fix: borked tests oops

* test: ignore duplicated projects

* fix: i did not break these shaun did :)

* fix: idIndex is index of id not id

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
2021-12-22 12:18:06 -08:00
Oliver Eyton-Williams
48f88428e8
test: login more directly (#44467)
* test: login more directly

* test: separate login from other visits

In a single test, Cypress can only visit within a single domain, hence
the separation.

* chore: fail slowly for all strategies

* test: user certified user for showing cert

* test: fix and cleanup certifications
2021-12-11 14:34:16 +05:30
Nicholas Carrigan (he/him)
557b689b79
feat: enable ukrainian downloads (#44443) 2021-12-09 15:58:00 -06:00