Webber Takken 365bdb5e12 chore: migrate to mise + bump yarn to 4.14.1 (#830)
* chore: migrate to mise + bump yarn to 4.14.1 (yarn 1 -> 4)

- Pin Node and Yarn 4.14.1 in mise.toml
- Drop Volta from package.json
- Switch to corepack-managed yarn via packageManager field
- Regenerate yarn.lock from scratch (yarn 1 v1 format -> yarn 4 v9)
- enableScripts off (default); allowlist lefthook via dependenciesMeta
- Replace setup-node + cache:'yarn' across 4 yarn-using workflows
  (integrity-check, validate-community-plugins, validate-orchestrator,
  validate-orchestrator-integration) with the standard cache pattern
- Add yarn 4 (berry) gitignore rules

* chore: revert dist/ + build-tests workflow churn

Keep PR scoped to tooling migration only; dist/ rebuild and prettier
auto-wraps in build-tests-* workflows are unrelated drive-by changes.

* fix(ci): add missing eslint plugins + jest globals

Yarn 4 strict layout doesn't expose @typescript-eslint/eslint-plugin
or eslint-plugin-import which were resolved transitively under yarn 1.
Add them as explicit devDeps. Same for @jest/globals (used by
jest-fail-on-console).

Disable unicorn/no-useless-undefined which now fires on existing
mockResolvedValue(undefined) calls. The undefined arg is required by
@types/jest 27 typings (removing it breaks tsc), so the rule and the
typecheck disagree. Pre-existing under yarn 1 these calls compiled
because the eslint config was effectively non-functional (plugin
resolution failed silently) so the rule never ran.

* fix(ci): disable unicorn/no-useless-undefined

@types/jest 27 typings require explicit .mockResolvedValue(undefined),
which the rule wants removed; tsc and eslint disagreed. Disable the
rule to match upstream behaviour (it only fires now because yarn 4
exposes the eslint plugin tree that yarn 1 silently broke).

* ci: bump cache key to v2 to bust stale node_modules

The restore-key pattern matched an older cache that had @types/tar
+ minipass 3.x in node_modules from before the lockfile regen.
Fresh installs end up with that stale tree and tsc fails on
incompatible types. Versioning the key forces a clean cache.

* chore: actually revert dist/ to origin/main

Earlier revert commit only fixed workflows; dist/ stayed rebuilt.
The newer ncc bundle output triggers 2 high-severity CodeQL alerts
(URL substring sanitization + escape sanitization) that don't fire
on the main branch's dist/. Restore main's dist/ so CodeQL passes.

* ci: drop node_modules from yarn cache (stale-state fix)

Caching node_modules causes stale trees to leak across yarn.lock
changes (e.g. @types/tar persisting after a regen). Cache only the
yarn cacheFolder + install-state.gz; yarn install rebuilds
node_modules from those (fast).
2026-05-04 21:07:52 +01:00
2023-10-28 12:21:10 -07:00
2022-03-30 23:27:10 +02:00
2023-02-13 23:07:10 -06:00
2020-01-19 01:54:56 +01:00
2020-05-01 17:55:27 +02:00
2023-11-25 19:33:36 +01:00
2019-11-30 19:02:47 +01:00
2023-03-04 15:39:31 -06:00

Unity - Builder

(Not affiliated with Unity Technologies)

GitHub Action to build Unity projects for different platforms.

Part of the GameCI open source project.

Builds - Ubuntu Builds - Windows Builds - MacOS codecov - test coverage

How to use

Find the docs on the GameCI documentation website.

Visit the GameCI Unity Actions status repository for related Actions.

Community

Feel free to join us on Discord and engage with the community.

Contributing

To help improve the documentation, please find the docs repository.

To contribute to Unity Builder, kindly read the contribution guide.

Support us

GameCI is free for everyone forever.

You can support us at OpenCollective.

Licence

This repository is MIT licensed.

This includes all contributions from the community.

Description
No description provided
Readme MIT 1.6 GiB
Languages
TypeScript 97.8%
JavaScript 1.4%
Batchfile 0.5%
Shell 0.3%