Skip to content

Commit 71a9c6e

Browse files
committed
release candidate 2.5.0-RC1
1 parent db36fc7 commit 71a9c6e

File tree

7 files changed

+68
-1215
lines changed

7 files changed

+68
-1215
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "threat-dragon",
3-
"version": "2.4.1",
3+
"version": "2.5.0",
44
"appBundleId": "org.owasp.threatdragon",
55
"private": true,
66
"scripts": {

release-process.md

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
The steps used during the release process, including release candidates
22

3+
Note that the build process will not run if the version is only Major.Minor, for example 2.5,
4+
and it needs to be in form Major.Minor.Patch, for example 2.5.0
5+
36
## Create release candidate
47

58
Before a release it is required that a release candidate version is created.
@@ -10,19 +13,20 @@ For example if RC1, but change for RC2 and so on :
1013

1114
1. `git clone [email protected]:OWASP/threat-dragon.git`
1215
2. `cd threat-dragon`
13-
3. update version, for example `"version": "2.4.1-RC1",`, in `td.vue/package.json`
16+
3. update version, for example `"version": "2.5.0-RC1",`, in `td.vue/package.json`
1417
4. ensure `buildState` in `td.vue/package.json` is "" (empty)
15-
5. update version, for example `"version": "2.4.1-RC1",`, in `package.json` and `td.server/package.json`
18+
5. update version, for example `"version": "2.5.0-RC1",`, in `package.json` and `td.server/package.json`
1619
6. update package lock files: `npm install`
1720
7. `npm run build`
1821
8. `npm test`
1922
9. `npm run test:vue`
2023
10. ensure that the package-lock files are up to date using `npm install`
2124
11. `git add --all; git status`
22-
12. `git commit -m"release candidate 2.4.1-RC1"`
25+
12. `git commit -m"release candidate 2.5.0-RC1"; git status`
2326
13. `git push`
24-
14. tag the release `git tag v2.4.1-RC1`
25-
15. `git push origin v2.4.1-RC1`
27+
14. tag the release `git tag v2.5.0-RC1`
28+
15. `git push origin v2.5.0-RC1`
29+
16. `git status`
2630

2731
repeat as necessary for further release candidates.
2832

@@ -49,18 +53,18 @@ After the releases candidate has been agreed by the Threat Dragon community, a r
4953

5054
1. `git clone [email protected]:OWASP/threat-dragon.git`
5155
2. `cd threat-dragon`
52-
3. update version eg `"version": "2.4.1",`, in `package.json`, `td.vue/package.json` and `td.server/package.json`
56+
3. update version eg `"version": "2.5.0",`, in `package.json`, `td.vue/package.json` and `td.server/package.json`
5357
4. update `buildState` in `td.vue/package.json` away from `-latest` to "" (empty)
5458
5. update package lock files: `npm install`
5559
6. `npm run build`
5660
7. `npm test`
5761
8. `npm run test:vue`
5862
9. ensure that the package-lock files are up to date using `npm install`
5963
10. `git add --all; git status`
60-
11. `git commit -m"release version 2.4.1"`
64+
11. `git commit -m"release version 2.5.0"`
6165
12. `git push`
62-
13. tag the release `git tag v2.4.1`
63-
14. `git push origin v2.4.1`
66+
13. tag the release `git tag v2.5.0`
67+
14. `git push origin v2.5.0`
6468

6569
The github release workflow then creates the draft release and the install images
6670

@@ -70,33 +74,33 @@ Ensure the tag now exists within the [Threat Dragon Docker hub][td-dock].
7074
Do this after logging into an active Docker account using `docker login` from the CLI and running Docker Desktop.
7175

7276
1. once tagged, the github workflow pushes the docker image to docker hub
73-
2. pull image for an X86 platform using `docker pull --platform linux/x86_64 threatdragon/owasp-threat-dragon:v2.4.1`
74-
3. pull image for an ARM platform using `docker pull --platform linux/arm64 threatdragon/owasp-threat-dragon:v2.4.1-arm64`
77+
2. pull image for an X86 platform using `docker pull --platform linux/x86_64 threatdragon/owasp-threat-dragon:v2.5.0`
78+
3. pull image for an ARM platform using `docker pull --platform linux/arm64 threatdragon/owasp-threat-dragon:v2.5.0-arm64`
7579
4. Test using the command to run a detached container:
76-
`docker run -d -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.4.1`
80+
`docker run -d -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.5.0`
7781
5. Test the ARM container as well:
78-
`docker run -d -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.4.1-arm64`
82+
`docker run -d -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.5.0-arm64`
7983
6. Ideally test these releases on Windows, linux and MacOS using `http://localhost:8080/#/`
8084

8185
If the image tests correctly, promote the docker image from dockerhub `threatdragon/`
82-
to dockerhub `OWASP/threat-dragon/v2.4.1` and `OWASP/threat-dragon/v2.4.1-arm64`.
86+
to dockerhub `OWASP/threat-dragon/v2.5.0` and `OWASP/threat-dragon/v2.5.0-arm64`.
8387

8488
There is _no going back_ on these steps, so they are deliberately left as manual tasks:
8589

8690
```text
87-
docker pull --platform linux/x86_64 threatdragon/owasp-threat-dragon:v2.4.1
88-
docker tag threatdragon/owasp-threat-dragon:v2.4.1 owasp/threat-dragon:v2.4.1
89-
docker push owasp/threat-dragon:v2.4.1
90-
docker pull owasp/threat-dragon:v2.4.1
91+
docker pull --platform linux/x86_64 threatdragon/owasp-threat-dragon:v2.5.0
92+
docker tag threatdragon/owasp-threat-dragon:v2.5.0 owasp/threat-dragon:v2.5.0
93+
docker push owasp/threat-dragon:v2.5.0
94+
docker pull owasp/threat-dragon:v2.5.0
9195
92-
docker tag owasp/threat-dragon:v2.4.1 owasp/threat-dragon:stable
96+
docker tag owasp/threat-dragon:v2.5.0 owasp/threat-dragon:stable
9397
docker push owasp/threat-dragon:stable
9498
docker pull owasp/threat-dragon:stable
9599
96-
docker pull --platform linux/arm64 threatdragon/owasp-threat-dragon:v2.4.1-arm64
97-
docker tag threatdragon/owasp-threat-dragon:v2.4.1-arm64 owasp/threat-dragon:v2.4.1-arm64
98-
docker push owasp/threat-dragon:v2.4.1-arm64
99-
docker pull owasp/threat-dragon:v2.4.1-arm64
100+
docker pull --platform linux/arm64 threatdragon/owasp-threat-dragon:v2.5.0-arm64
101+
docker tag threatdragon/owasp-threat-dragon:v2.5.0-arm64 owasp/threat-dragon:v2.5.0-arm64
102+
docker push owasp/threat-dragon:v2.5.0-arm64
103+
docker pull owasp/threat-dragon:v2.5.0-arm64
100104
```
101105

102106
ensure the tag now exists within the [OWASP Docker hub][owasp-dock].
@@ -112,14 +116,14 @@ ensure the tag now exists within the [OWASP Docker hub][owasp-dock].
112116

113117
### Checksum for Linux desktop AppImage
114118

115-
Download desktop AppImage for Linux `Threat-Dragon-ng-2.4.1.AppImage` and the `latest-linux.yml` auto-update checksum file.
119+
Download desktop AppImage for Linux `Threat-Dragon-ng-2.5.0.AppImage` and the `latest-linux.yml` auto-update checksum file.
116120

117121
Create SHA512 `checksum-linux.yml` file:
118122

119123
```bash
120124
grep sha512 latest-linux.yml | tail -n 1 | cut -d ":" -f 2 | base64 -d | \
121125
hexdump -ve '1/1 "%.2x"' > checksum-linux.yml
122-
echo -n " Threat-Dragon-ng-2.4.1.AppImage" >> checksum-linux.yml
126+
echo -n " Threat-Dragon-ng-2.5.0.AppImage" >> checksum-linux.yml
123127
```
124128

125129
Check correct using: `sha512sum --check checksum-linux.yml`
@@ -150,58 +154,58 @@ The secrets for both signing and notarization can be checked by running it manua
150154
- provide the [code signing certs for MacOS][certs]
151155
- Download both x86 and arm64 files for the MacOS installer (`*.dmg` and `*.zip`)
152156
- ensure that the apple developer [environment is set up][notarize]
153-
- notarize and staple the `Threat-Dragon-ng-2.x.x-arm64.dmg` file for arm64, using version 2.4.1 as an example:
157+
- notarize and staple the `Threat-Dragon-ng-2.x.x-arm64.dmg` file for arm64, using version 2.5.0 as an example:
154158
- `xcrun notarytool submit --apple-id <apple-account-email> --team-id <teamid> \`
155-
`--password <password> --verbose --wait Threat-Dragon-ng-2.4.1-arm64.dmg`
156-
- `xcrun stapler staple --verbose Threat-Dragon-ng-2.4.1-arm64.dmg`
159+
`--password <password> --verbose --wait Threat-Dragon-ng-2.5.0-arm64.dmg`
160+
- `xcrun stapler staple --verbose Threat-Dragon-ng-2.5.0-arm64.dmg`
157161
- similarly for the x86 image `Threat-Dragon-ng-2.x.x.dmg` :
158162
- `xcrun notarytool submit --apple-id <apple-account-email> --team-id <teamid> \`
159-
`--password <password> --verbose --wait Threat-Dragon-ng-2.4.1.dmg`
160-
- `xcrun stapler staple --verbose Threat-Dragon-ng-2.4.1.dmg`
161-
- notarize the application in both`.zip` files, for example using version 2.4.1:
163+
`--password <password> --verbose --wait Threat-Dragon-ng-2.5.0.dmg`
164+
- `xcrun stapler staple --verbose Threat-Dragon-ng-2.5.0.dmg`
165+
- notarize the application in both`.zip` files, for example using version 2.5.0:
162166
- `xcrun notarytool submit --apple-id <apple-account-email> --team-id <teamid> \`
163-
`--password <password> --verbose --wait Threat-Dragon-ng-2.4.1-arm64-mac.zip`
167+
`--password <password> --verbose --wait Threat-Dragon-ng-2.5.0-arm64-mac.zip`
164168
- unzip the file to obtain the application directory `Threat-Dragon-ng.app`
165169
- check notarization worked: `spctl -a -v Threat-Dragon-ng.app`
166170
- staple the application: `xcrun stapler staple --verbose Threat-Dragon-ng.app`
167171
- zip the application directory to get: `Threat-Dragon-ng.zip`
168-
- rename `Threat-Dragon-ng.zip` to update `Threat-Dragon-ng-2.4.1-arm64-mac.zip`
172+
- rename `Threat-Dragon-ng.zip` to update `Threat-Dragon-ng-2.5.0-arm64-mac.zip`
169173
- similarly for the x86 application `zip` file :
170174
- `xcrun notarytool submit --apple-id <apple-account-email> --team-id <teamid> \`
171-
`--password <password> --verbose --wait Threat-Dragon-ng-2.4.1-mac.zip`
175+
`--password <password> --verbose --wait Threat-Dragon-ng-2.5.0-mac.zip`
172176
- unzip the file to obtain the application directory `Threat-Dragon-ng.app`
173177
- check notarization worked: `spctl -a -v Threat-Dragon-ng.app`
174178
- staple the application: `xcrun stapler staple --verbose Threat-Dragon-ng.app`
175179
- zip the application directory to get: `Threat-Dragon-ng.zip`
176-
- rename `Threat-Dragon-ng.zip` to update `Threat-Dragon-ng-2.4.1-mac.zip`
180+
- rename `Threat-Dragon-ng.zip` to update `Threat-Dragon-ng-2.5.0-mac.zip`
177181

178182
Fix up the checksums in `latest-mac.yml` values using script:
179183

180184
```bash
181-
openssl dgst -binary -sha512 Threat-Dragon-ng-2.4.1-mac.zip | openssl base64 -A
182-
ls -l Threat-Dragon-ng-2.4.1-mac.zip
185+
openssl dgst -binary -sha512 Threat-Dragon-ng-2.5.0-mac.zip | openssl base64 -A
186+
ls -l Threat-Dragon-ng-2.5.0-mac.zip
183187

184-
openssl dgst -binary -sha512 Threat-Dragon-ng-2.4.1-arm64-mac.zip | openssl base64 -A
185-
ls -l Threat-Dragon-ng-2.4.1-arm64-mac.zip
188+
openssl dgst -binary -sha512 Threat-Dragon-ng-2.5.0-arm64-mac.zip | openssl base64 -A
189+
ls -l Threat-Dragon-ng-2.5.0-arm64-mac.zip
186190

187-
openssl dgst -binary -sha512 Threat-Dragon-ng-2.4.1.dmg | openssl base64 -A
188-
ls -l Threat-Dragon-ng-2.4.1.dmg
191+
openssl dgst -binary -sha512 Threat-Dragon-ng-2.5.0.dmg | openssl base64 -A
192+
ls -l Threat-Dragon-ng-2.5.0.dmg
189193

190-
openssl dgst -binary -sha512 Threat-Dragon-ng-2.4.1-arm64.dmg | openssl base64 -A
191-
ls -l Threat-Dragon-ng-2.4.1-arm64.dmg
194+
openssl dgst -binary -sha512 Threat-Dragon-ng-2.5.0-arm64.dmg | openssl base64 -A
195+
ls -l Threat-Dragon-ng-2.5.0-arm64.dmg
192196
```
193197

194198
Create the checksum files:
195199

196-
- `sha512sum Threat-Dragon-ng-2.4.1.dmg > checksum-mac.yml`
197-
- `sha512sum Threat-Dragon-ng-2.4.1-arm64.dmg > checksum-mac-arm64.yml`
200+
- `sha512sum Threat-Dragon-ng-2.5.0.dmg > checksum-mac.yml`
201+
- `sha512sum Threat-Dragon-ng-2.5.0-arm64.dmg > checksum-mac-arm64.yml`
198202

199203
Upload files into the new release:
200204

201-
- `Threat-Dragon-ng-2.4.1-mac.zip`
202-
- `Threat-Dragon-ng-2.4.1-arm64-mac.zip`
203-
- `Threat-Dragon-ng-2.4.1.dmg`
204-
- `Threat-Dragon-ng-2.4.1-arm64.dmg`
205+
- `Threat-Dragon-ng-2.5.0-mac.zip`
206+
- `Threat-Dragon-ng-2.5.0-arm64-mac.zip`
207+
- `Threat-Dragon-ng-2.5.0.dmg`
208+
- `Threat-Dragon-ng-2.5.0-arm64.dmg`
205209
- `checksum-mac.yml`
206210
- `checksum-mac-arm64.yml`
207211
- `latest-mac.yml`
@@ -229,15 +233,15 @@ The latest certificate is provided using Certum's Open Source certificate:
229233
4. ensure Powershell has the `signtool` utility installed from Windows SDK
230234
5. right click the icon in the desktop tray to select ‘Connect to SimplySign’
231235
6. gain a thumbprint from desktop tray icon, Manage certificates → Certificate list → Details → Thumbprint
232-
7. `signtool sign /sha1 "<thumbprint>" /tr http://time.certum.pl /td sha256 /fd sha256 /v "Threat-Dragon-ng-Setup-2.4.1.exe"`
236+
7. `signtool sign /sha1 "<thumbprint>" /tr http://time.certum.pl /td sha256 /fd sha256 /v "Threat-Dragon-ng-Setup-2.5.0.exe"`
233237

234-
Once signed create the checksum file: `sha512sum Threat-Dragon-ng-Setup-2.4.1.exe > checksum.yml`
238+
Once signed create the checksum file: `sha512sum Threat-Dragon-ng-Setup-2.5.0.exe > checksum.yml`
235239

236240
Fix up the file `latest.yml` with the correct size and the SHA256 value given by:
237241

238-
- `openssl dgst -binary -sha512 Threat-Dragon-ng-Setup-2.4.1.exe | openssl base64 -A`
242+
- `openssl dgst -binary -sha512 Threat-Dragon-ng-Setup-2.5.0.exe | openssl base64 -A`
239243

240-
Upload files `Threat-Dragon-ng-Setup-2.4.1.exe`, `checksum.yml` and `latest.yml` into the new release.
244+
Upload files `Threat-Dragon-ng-Setup-2.5.0.exe`, `checksum.yml` and `latest.yml` into the new release.
241245
Note that the original files of the same name need to be removed first.
242246

243247
### Confirm desktop checksums
@@ -261,7 +265,7 @@ Edit the 'What's Changed' to filter out any chores.
261265

262266
Then update the release notes for the draft in the [Threat Dragon release area][area]
263267
using the release notes using markdown provided by `.release-note-template.md` as a template,
264-
making sure to revise `2.x.x` to the correct version number such as `2.4.1`
268+
making sure to revise `2.x.x` to the correct version number such as `2.5.0`
265269

266270
Once everything is in place promote the release from 'draft' to 'public' and 'latest'
267271

td.server/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

td.server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "threat-dragon-server",
3-
"version": "2.4.1",
3+
"version": "2.5.0-RC1",
44
"private": true,
55
"scripts": {
66
"audit": "npm audit",

0 commit comments

Comments
 (0)