Skip to content

Commit

Permalink
Merge branch 'develop' into bugs/batchRenderingFrustum
Browse files Browse the repository at this point in the history
  • Loading branch information
RebeccaNowak committed Jun 28, 2023
2 parents 9b503bc + cf881b9 commit 52a4d89
Showing 1 changed file with 14 additions and 22 deletions.
36 changes: 14 additions & 22 deletions docs/Build-Deploy-System.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
# Electron based deployment

Earlier pro3d used aardium, a electron package to host the content of pro3d in a self-contained browser.
In order to simplify the deployment process and align all platforms (e.g. mac requires signing) we switched to a completely electron based deployment in 4.9.3 and up.
Our current deployment mechanism is driven by `electron-builder` [see here](https://github.com/pro3d-space/PRo3D/blob/99900d5aa88242e2d340d1c4636994f09e406c79/aardium/package.json#L21).

# Automatic Releases (triggered by pushing to develop branch)
In order to deploy all supported architectures using github actions is the preferred solution to build and distribute builds.

## TL;DR
# Automatic Releases

The idea is that by pushing into the `develop` branch, the CI automatically runs all steps to produce a draft release on github.
## TL;DR

Thus, for creating a release you need to do:
- merge your feature to `develop`
- prepare a commit for the release by adjusting the version numbers
- change the file `PRODUCT_RELEASE_NOTES.md` and introduce a new version
- change `aardium/package.json`'s version accordingly (feel free to automate this step)
- when done, merge into the autorelease branch which then triggers an automatic release (and creates a draft release on github)
- Wait for the CI to finish, and adjust the newly created release and publish the draft
Deployments are triggered by github actions. Currently this is configured in such a way that each commit which touches one of those [files](https://github.com/pro3d-space/PRo3D/blob/bee4f8716e9fcfd94b78112f2d2777867b7685c3/.github/workflows/deploy.yml#L4) triggers a release.

## Details

Expand Down Expand Up @@ -47,18 +40,17 @@ all resources should be embedded using dotnet embedded resources to allow "singl

- title bar version is fixed up by "publish" target using string replace

## Known problems
# Manual build and upload to github release

sometimes publish fails with ```Could not open file for writing (binary mode): F:\pro3d\openPro3d\src\PRo3D.Core\obj\Any CPU\Release\netcoreapp3.1\win10-x64\PRo3D.Core.dll``` on my machine. either dotnet problem or with my (often rather full) disk?
- prepare the github_token env variable https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token,
- change RELEASE_NOTES.md, commit, push
- in a commmand line use: ```SET GH_TOKEN=... && ./build.{cmd|sh} PublishToElectron```

# 'Old' manual deploy
# Manual release as a zip file

- prepare the github_token env variable https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
- change RELEASE_NOTES.md, commit, push
- in a commmand line use: ./build.{cmd|sh} GitHubRelease
```SET GH_TOKEN=... && ./build.{cmd|sh} GitHubRelease```

## Known problems

### Releases on github
sometimes publish fails with ```Could not open file for writing (binary mode): F:\pro3d\openPro3d\src\PRo3D.Core\obj\Any CPU\Release\netcoreapp3.1\win10-x64\PRo3D.Core.dll``` on my machine. either dotnet problem or with my (often rather full) disk?

- set github_token in your env (used by "GitHubRelease" target)
- tag automatically created by github (given RELEASE_NOTES.MD)
- what happens if tag exists, what happens if release does not exist but the tag - this should be found somewhere here: https://docs.github.com/en/rest/reference/repos#releases

0 comments on commit 52a4d89

Please sign in to comment.