mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-05-31 13:56:13 -07:00
365bdb5e129a8f311fa1a6b2ac58dd2c25dc9693
* 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).
Cloud Runner Improvements - LTS Candidate - S3 Locking, Aws Local Stack (Pipelines), Testing Improvements, Rclone storage support, Provider plugin system (#731)
Cloud Runner Improvements - LTS Candidate - S3 Locking, Aws Local Stack (Pipelines), Testing Improvements, Rclone storage support, Provider plugin system (#731)
Cloud Runner Improvements - LTS Candidate - S3 Locking, Aws Local Stack (Pipelines), Testing Improvements, Rclone storage support, Provider plugin system (#731)
Cloud Runner Improvements - LTS Candidate - S3 Locking, Aws Local Stack (Pipelines), Testing Improvements, Rclone storage support, Provider plugin system (#731)
Unity - Builder
(Not affiliated with Unity Technologies)
GitHub Action to build Unity projects for different platforms.
Part of the GameCI open source project.
How to use
Find the docs on the GameCI documentation website.
Related actions
Visit the GameCI Unity Actions status repository for related Actions.
Community
Feel free to join us on
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.
Languages
TypeScript
97.8%
JavaScript
1.4%
Batchfile
0.5%
Shell
0.3%