Files
GDevelop-Heretek/.github
Claude bdd9539a22 fix(ci): share libGD.js build artifact; remove custom CodeQL workflow
CI on the second push of PR #5 had three issues:

1. newIDE/app Jest - 'Cannot find module libGD.js-for-tests-only from
   src/setupTests.js'. The Jest setup pulls in a pre-built C++ core, but
   the test job had no way to provision it. Solved by sharing the build
   output as a GitHub Actions artifact and running
   'node scripts/import-libGD.js' in the test job (which copies the
   local build into node_modules/libGD.js-for-tests-only).

2. GDevelop.js Jest - the emscripten-core/setup-emsdk@v4 action refused
   to install version '3.1.21' (the version upstream uses): 'No tool or
   SDK found by name 3.1.21'. The emscripten-core consolidation no longer
   ships the 3.x line as tagged releases. Solved by replacing the action
   with a manual clone of the original juj/emsdk fork and installing
   3.1.21 from there, exactly as the upstream CircleCI does.

3. CodeQL - 'CodeQL analyses from advanced configurations cannot be
   processed when the default setup is enabled'. The repo already has
   GitHub's default CodeQL setup enabled (the same scanner that produced
   the 56 findings being remediated). My advanced config workflow
   conflicts with it, so the SARIF upload is rejected. Removed
   .github/workflows/codeql.yml; the default setup continues to scan
   weekly + on push.

Restructured ci.yml so the Emscripten build runs once in a dedicated
'build-libgd' job (~5-10 min cold) and uploads Binaries/embuild/GDevelop.js/
as an artifact. test-newide-app and test-gdevelopjs both depend on it and
download the artifact, so the heavy build doesn't run twice.

Also fixed a pre-existing lint failure: src/AI/CustomAIClient.spec.js had
two unused imports (DEFAULT_LOCAL_AI_SETTINGS, customAddMessageToAiRequest)
left over from a prior code-review iteration. Lint runs with --max-warnings=0
so these blocked the lint job. Removed them.

Other job still failing on this push (not in scope):
- Build Storybook: needs BUILD_STORYBOOK_AWS_ACCESS_KEY_ID secret which
  isn't configured in this fork's repo settings.

Verified locally:
  python3 -c 'import yaml; yaml.safe_load(open(".github/workflows/ci.yml"))'
  npm run lint (no warnings after cleanup)
  npm test (CustomAIClient.spec.js: 21 passed)
2026-08-20 01:33:27 -04:00
..