You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release-guide.md
+46-9Lines changed: 46 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,6 +46,12 @@ Update your master branch after the release notes PR ([example](https://github.c
46
46
git tag v1.13.1 && git push upstream v1.13.1
47
47
```
48
48
49
+
if you have a proper setup of github- AND gitlab forks (and the remote `origin` on git pointing to your github fork), you can push that tag to origin and this is useful to test the procedures. See "CI/CD-dev-env setup" in [continuous-integration](./continuous-integration.md).
50
+
51
+
```bash
52
+
git tag v1.13.1 && git push origin v1.13.1
53
+
```
54
+
49
55
## GitLab - releasing stage
50
56
51
57
Creating a tag triggers the release process of the GitLab runners.
@@ -73,30 +79,61 @@ For details look at `.gitlab-ci.yml`
73
79
74
80
## MacOS
75
81
76
-
Ideally, directly after the tag is created, start with the MacOS release. This has to be done manually, for now. There is a script for this:
82
+
Ideally, directly after the tag is created, start with the MacOS release. As the binaries of x86/arm64 are not compatible with each other, we need to build on two MacOS architectures.This has to be done manually, for now. There is a script for this. Start with the build on x86:
You can also test this procedure without messing the original project via changing the `orgName` to your `orgName` in `pyinstaller/electron/downloadloc.js`.
91
+
92
+
This will create three artifacts on github:
93
+
* specterd-v2.0.5-pre4-osx_x64.zip
94
+
* SHA256SUMS-macos_x64
95
+
* SHA256SUMS-macos_x64.asc
96
+
97
+
### MacOS arm64 build
98
+
99
+
The electron application will get built on the arm architecture. As it needs to store the sha256 hash in the electron-app, the make-hash target
100
+
will not only hash the specterd but also download the other specterd and hash it.
This script also runs `github.py upload `, so two more binares and the hash and signature files are uploaded to GitHub:
106
+
This will create four artifacts on github:
107
+
* Specter-v2.0.5-pre4.dmg
108
+
* specterd-v2.0.5-pre4-osx_arm64.zip
109
+
* SHA256SUMS-macos_arm64
110
+
* SHA256SUMS-macos_arm64.asc
83
111
84
-
- Specter-v1.13.1.dmg
85
-
- specterd-v1.13.1-osx.zip
86
-
- SHA256SUMS-macos
87
-
- SHA256SUMS-macos.asc
88
112
89
113
## GitLab - post releasing
90
114
91
115
Back to GitLab, the final stage is "post releasing".
92
116
93
-
In this stage, the invididual SHA256-hashes and signatures are combined into two final files:
117
+
### release_signatures
118
+
119
+
In this job, the individual SHA256-hashes and signatures are combined into two final files:
94
120
95
121
- SHA256SUMS
96
122
- SHA256SUMS.asc
97
123
98
124
Everything, apart from the MacOS files, are pulled from the GitLab environment, the MacOS files from GitHub.
99
-
Don't forget to delete the two MacOS files (`SHA256SUMS-macos` and `SHA256SUMS-macos.asc`) on the GitHub release page in the end.
125
+
Don't forget to delete the four MacOS files (`SHA256SUMS-macos_arm64` and `SHA256SUMS-macos_arm64.asc` and the two corresponding `_x64` files) on the GitHub release page in the end.
126
+
127
+
This is difficult to automate as sometimes the manual steps has not succeeded while generating the SHASUM-files. As a result, those hashes are not included. So you might want to run this again. And you can, just delete the two generated files - `SHA256SUMS` and `SHA256SUMS.asc` and run the job again.
128
+
129
+
### release_docker
130
+
131
+
There are docker images created by the awesome [Chiang Mai LN dev](https://github.com/lncm/docker-specter-desktop). So the task of this job is to trigger their build-system which is done via `utils/trigger_docker_build.sh`. A prerequisite of this is a token in order to authenticate. That token is from Aaron, one of the maintainers of that repo, and can be found in the gitlab variables section of the CI/CD configuration.
132
+
133
+
### tag_specterext_dummy_repo
134
+
135
+
Sometimes there are changes on the plugin architecture. In order to create a plugin, it's quite important to know which version of the plugin system should be used. Because of that, we simply assume that the master of the [specterext-dummy](https://github.com/cryptoadvance/specterext-dummy) repo is compatible with the current master which was just tagged with the new version.
136
+
So this job will tag that repo with the same tag and the creation of a plugin will take the version into account.
0 commit comments