From 99900d5aa88242e2d340d1c4636994f09e406c79 Mon Sep 17 00:00:00 2001 From: Harald Steinlechner Date: Tue, 9 May 2023 11:12:47 +0200 Subject: [PATCH 1/3] updated automatic release policy --- docs/Build-Deploy-System.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/docs/Build-Deploy-System.md b/docs/Build-Deploy-System.md index 52c87fed..78515542 100644 --- a/docs/Build-Deploy-System.md +++ b/docs/Build-Deploy-System.md @@ -3,19 +3,11 @@ 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. -# Automatic Releases (triggered by pushing to develop branch) +# Automatic Releases ## TL;DR -The idea is that by pushing into the `develop` branch, the CI automatically runs all steps to produce a draft release on github. - -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 From 7eb3dac81aba87f9e973710519383a1acaa9fba3 Mon Sep 17 00:00:00 2001 From: Harald Steinlechner Date: Tue, 27 Jun 2023 12:42:38 +0200 Subject: [PATCH 2/3] Update Build-Deploy-System.md --- docs/Build-Deploy-System.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/Build-Deploy-System.md b/docs/Build-Deploy-System.md index 78515542..413d5b5b 100644 --- a/docs/Build-Deploy-System.md +++ b/docs/Build-Deploy-System.md @@ -1,7 +1,8 @@ # 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). + +In order to deploy all supported architectures using github actions is the preferred solution to build and distribute builds. # Automatic Releases @@ -39,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 eelease 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 From cf881b9b3dc24b4997923695b8b1411e9b7f6a1b Mon Sep 17 00:00:00 2001 From: Harald Steinlechner Date: Tue, 27 Jun 2023 12:43:26 +0200 Subject: [PATCH 3/3] Update Build-Deploy-System.md --- docs/Build-Deploy-System.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Build-Deploy-System.md b/docs/Build-Deploy-System.md index 413d5b5b..e0fd0f6e 100644 --- a/docs/Build-Deploy-System.md +++ b/docs/Build-Deploy-System.md @@ -46,7 +46,7 @@ all resources should be embedded using dotnet embedded resources to allow "singl - change RELEASE_NOTES.md, commit, push - in a commmand line use: ```SET GH_TOKEN=... && ./build.{cmd|sh} PublishToElectron``` -# Manual eelease as a zip file +# Manual release as a zip file ```SET GH_TOKEN=... && ./build.{cmd|sh} GitHubRelease```