Developer notes for OWASP Threat Dragon release process
This is a collection of recipes used during the release process
- create branch
release-v1.5
in Threat Dragon repo git clone [email protected]:OWASP/threat-dragon.git -b release-v1.5
cd threat-dragon
- update version declaration eg
"version": "1.5.0",
inpackage.json
,td.site/package.json
andtd.server/package.json
npm install
npm run pretest
npm run build
npm test
git commit -a -m"<some release message>"
git push
- merge branch in webapp repo and then checkout master:
git clone [email protected]:OWASP/threat-dragon.git
cd threat-dragon
git tag v1.5.0
git push origin v1.5.0
docker build -t owasp-threat-dragon:v1.5.0 .
docker tag owasp-threat-dragon:v1.5.0 threatdragon/owasp-threat-dragon:v1.5.0
docker images
docker login
using docker credentialsdocker push threatdragon/owasp-threat-dragon:v1.5.0
- check using
docker pull threatdragon/owasp-threat-dragon:v1.5.0
Test the release using 'Install and run web application' in [dev-notes.md], ideally on all of Windows, linux and MacOS. In general if it works on one platform then it will work on the others, so one platform may be sufficient
- ensure the release is tagged, see above
- create the windows installer as below
- create the linux installers as below
- create the MacOS installer as below
- draft the release in Threat Dragon repo using release tag
- add the release notes to this release
- attach installer files to this release
- list SHA256 for each installer file:
.exe
,.dmg
,.deb
,.rpm
,.snap
and.AppImage
Create windows .exe and test it on a windows box
git clone https://github.com/OWASP/threat-dragon.git
cd threat-dragon/td.desktop
npm install
npm run pretest
npm test
npm run build-win
- make sure the installer works, navigate to
.exe
and run - obtain SHA256 of .exe file using
shasum -a256
Create MacOS .deb installer and test it on a mac
git clone [email protected]:OWASP/threat-dragon.git
cd threat-dragon/td.desktop
npm install
npm run pretest
npm test
npm run build-osx
- make sure the installer works, navigate to .dmg and run
- obtain SHA256 of .dmg file using
shasum -a256
Create linux .rpm, .deb .snap, AppImage and test them on a linux box
git clone [email protected]:OWASP/threat-dragon.git
cd threat-dragon/td.desktop
npm install
npm run pretest
npm test
npm run build-lin
- make sure the installers work, navigate to
.deb
or.rpm
package and test - test the Snap and AppImage (
.snap
and.AppImage
) files - obtain SHA256 of
.deb
,.rpm
,.snap
and.AppImage
files usingshasum -a256
Threat Dragon: making threat models more dragony