-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publishing Unity packages to openupm #1048
Comments
I think It looks great, opening unity to generate might be a bit slower due to it generating it's internal library and initialising itself but it's definitely the most future proof solution. The only thing I'd change, if possible, would be to not need to make a repo for each unity package. |
Unity meta files should persist, so the "unity package builder repo" would potentially contain all projects, right? If it wouldn't be for the meta files, ideally I just have 1 build repo that doesn't contain anything expect a default unity project. |
Was not thinking about the metas you are right. The last step on this action pushes to that other UPM tree This supposed github action would need to create an orphan UPM branch when it does not exist which can be done with Otherwise having a repo for each UPM release is also not that bad. |
You can also generate the |
@JesseTG I wanted to double check with you: I'm not sure if I over-complicated things with releasing Entitas to openupm.
Current setup:
I have a couple of C# projects, e.g.:
Jenny, DesperateDevs, Sherlog, TCPeasy, Entitas coming soon
and I would like to release NuGet packages to NuGet and Unity packages to OpenUPM.
In order to achieve this I have 2 repos each. The actual repo containing the C# project, and another one that is used to transform the C# project into the Unity package format.
I added GitHub actions, see: https://github.com/sschmid/Entitas/tree/main/.github/workflows
CI
CI builds on push and does this:
and uploads assemblies and NuGet packages to the workflow run. This allows you to download the latest assemblies when pushing to main or to a PR.
Release
Release does the same as CI plus:
to upload the assemblies to NuGet.
To release a new NuGet package I can just pick a tag and run the Release workflow.
I have separate repos for the Unity packages, e.g.:
com.sschmid.jenny, com.sschmid.desperatedevs, com.sschmid.sherlog, com.sschmid.tcpeasy
These repos contain an empty Unity project + a submodule for the actual repo.
The only job of this repo is to update the submodule, generate and update asmdefs and package.json, see GitHub action:
https://github.com/sschmid/com.sschmid.sherlog/blob/main/.github/workflows/release.yml
This action does this:
The build.bash script gets all project and package references needed to generate asmdefs and package.json.
While this step is not that complicated, it feels way to complicated and I was wondering if there are easier solutions.
How would you design the release workflows to be able to publish to NuGet and OpenUPM?
The text was updated successfully, but these errors were encountered: