Skip to content

Conversation

webbertakken
Copy link
Member

Changes

  • Rewrite relative imports to use .ts and not reference folders
  • Handle env variables process.env becomes Deno.env.get()/set()
  • Handle process.platform and other usages of node process.
  • Convert __dirname and __filename to use Deno replacement
  • Convert Node package AWS SDK to use Deno replacement
  • Test AWS flow
  • Convert Node package K8s SDK to use Deno replacement
  • Test K8s flow
  • Convert Node package crypto to use Deno replacement
  • Convert Node package path to use Deno replacement
  • Convert Node package fs (sync) to use Deno replacement
  • Convert Node package fs/promises (async) to use Deno replacement
  • Convert Node package @actions/core to use Deno replacement
  • Convert Node package @actions/exec to use Deno replacement
  • Convert Node package semver to use Deno replacement
  • Convert Node package nanoid to use Deno replacement
  • Convert Node package commander-ts to use Deno replacement
  • Convert Node package uuid to use Deno replacement
  • Convert Node package zlib to use Deno replacement
  • Convert Node package yaml to use Deno replacement
  • Convert Node package console to use Deno replacement
  • Convert Node package child_process to use Deno replacement
  • Convert Node package unity-changeset to use Deno replacement
  • Command deno run -A --unstable src/index.ts not erroring out
  • Port async-wait-until which is currently not available on Deno.
  • Setting composite action to install deno and run deno run -A --unstable src/index.ts with params (pretty much exactly like this as implemented in Draft: feat: introduce deno cli entrypoint unity-builder#385)
  • Make compatible with /dist
  • Successful build in CI
  • Remove pre-commit build hook that compiles the dist files every time (as we can now run directly from src)
  • Determine whether to release as 2.x or 3.x (technically it doesn't have to be a breaking change per se)
  • Add checks / tests

High level functionality:

  • Load user input
  • Run docker
  • Build project
  • Output files
  • Cloud Runner

Milestones:

  • Separate logic between game engines
  • Separate commands like build, test, remote etc.
  • Separate cli input
  • Separate env input
  • Introduce config folder / input
  • Separate defaults
  • Use all of the above in an intuitive CLI signature

Next steps after completing this:

  • Start writing CLI from Unity Builder logic in Create CLI #4 as per v3.0.0 roadmap
  • Move CLI to its own repository and base unity-builder on that CLI
  • base all other actions on that CLI
  • base all other CI systems on that CLI as well

Checklist

  • Read the contribution guide and accept the code of conduct
  • Readme (updated or not needed)
  • Tests (added, updated or not needed)

@github-actions
Copy link

github-actions bot commented Sep 1, 2022

Cat Gif

@webbertakken webbertakken changed the title Deno as runtime Introduce CLI / Introduce Deno Sep 1, 2022
@webbertakken webbertakken merged commit b3c054d into main Sep 1, 2022
webbertakken added a commit that referenced this pull request Sep 1, 2022
* chore: rewrite imports to deno style

* chore: rewrite more imports to deno style

* chore: rewrite core and exec imports to deno style

* chore: internalise waitUntil

* chore: fix imports

* chore: disable audit and build step

* chore: fix formatting

* chore: load input from user and yaml

* chore: reinstate exec signature

* chore: use ported unity-changeset (deno) package

* chore: add global logger

* chore: convert core logger to global logger

* chore: oneliner output for command debug logs

* chore: fix all linting issues with updated linting configs

* fix: broken run command that was reading from input buffer

* feat: introduce deno cli entrypoint

* chore: make Versioning.branch compatible with local

* feat: per-command parameters parsing

* feat: engine-specific commands and better organised environment

* feat: add verbosity and split parameters per command

* chore: upgrade test project to 2019.4 for local testability on windows

* feat: add String.dedent polyfill

* chore: debug build process for windows

* chore: sanitise more parameters

* feat: create .game-ci folder in user folder.

* fix: missing setOutput and simplify os setup

* chore: remove all previous run/exec commands in favour of one cleaned up version System.run

* chore: wrap up single run command

* feat: cleanup parameters part 1/*

* chore: cleanup parameters part 2/*

* refactor: folder structure in preparation of command based cli

* feat: introduce yargs architecture

* refactor: parameters into cli structure

* refactor: vcs detector over branch detector

* feat: add run configuration

* feat: log to config folder

* feat: much better error handling

* feat: setup deno testing and coverage

* feat: cross platform coverage (dependent on perl)

* chore: lock version for tool script

* feat: add "config open" command

Former-commit-id: 167b69eca4d1bf3804800b6442b20b0c4b13f129
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant