Skip to content

Conversation

webbertakken
Copy link
Member

@webbertakken webbertakken commented Jun 7, 2022

Context

Prerequisite for game-ci/cli#4

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 #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 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 Jun 7, 2022

Cat Gif

@webbertakken webbertakken marked this pull request as draft June 7, 2022 22:14
@webbertakken webbertakken changed the title Draft: chore: rewrite imports to deno style chore: rewrite imports to deno style Jun 7, 2022
@webbertakken webbertakken changed the title chore: rewrite imports to deno style Convert runtime from NodeJS to Deno (TS) Jun 7, 2022
@webbertakken webbertakken added the enhancement New feature or request label Jun 7, 2022
@webbertakken webbertakken self-assigned this Jun 7, 2022
@webbertakken webbertakken changed the title Convert runtime from NodeJS to Deno (TS) Convert runtime from NodeJS to Deno (TS as runtime) Jun 7, 2022
@webbertakken
Copy link
Member Author

Asked Mob-sakai if they are up for making unity-changeset Deno-compatible.

mob-sakai/unity-changeset#13

@webbertakken
Copy link
Member Author

Asked Mob-sakai if they are up for making unity-changeset Deno-compatible.

mob-sakai/unity-changeset#13

This was done and incorporated

@webbertakken
Copy link
Member Author

I'm using deno run --allow-all .\src\index.ts build --projectPath=./test-project --buildName=testing -allowDirtyBuild to test the current state

@webbertakken
Copy link
Member Author

Closed in favour of game-ci/cli#1

This is moving to a new repo. The logic of Unity Builder will be replaced by the CLI.

New changes should be added there if there is no rush.

@webbertakken webbertakken deleted the deno-as-runtime branch September 1, 2022 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant