Skip to content

Latest commit

 

History

History
80 lines (69 loc) · 3.16 KB

dev-releases.md

File metadata and controls

80 lines (69 loc) · 3.16 KB

Developer notes for OWASP Threat Dragon release process

Create New Releases

This is a collection of recipes used during the release process

Tag the release

  1. create branch release-v1.5 in Threat Dragon repo
  2. git clone [email protected]:OWASP/threat-dragon.git -b release-v1.5
  3. cd threat-dragon
  4. update version declaration eg "version": "1.5.0", in package.json, td.site/package.json and td.server/package.json
  5. npm install
  6. npm run pretest
  7. npm run build
  8. npm test
  9. git commit -a -m"<some release message>"
  10. git push
  11. merge branch in webapp repo and then checkout master:
  12. git clone [email protected]:OWASP/threat-dragon.git
  13. cd threat-dragon
  14. git tag v1.5.0
  15. git push origin v1.5.0

Publish docker image

  1. docker build -t owasp-threat-dragon:v1.5.0 .
  2. docker tag owasp-threat-dragon:v1.5.0 threatdragon/owasp-threat-dragon:v1.5.0
  3. docker images
  4. docker login using docker credentials
  5. docker push threatdragon/owasp-threat-dragon:v1.5.0
  6. 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

Desktop release area

  1. ensure the release is tagged, see above
  2. create the windows installer as below
  3. create the linux installers as below
  4. create the MacOS installer as below
  5. draft the release in Threat Dragon repo using release tag
  6. add the release notes to this release
  7. attach installer files to this release
  8. list SHA256 for each installer file: .exe, .dmg, .deb, .rpm, .snap and .AppImage

Windows installer for TD desktop

Create windows .exe and test it on a windows box

  1. git clone https://github.com/OWASP/threat-dragon.git
  2. cd threat-dragon/td.desktop
  3. npm install
  4. npm run pretest
  5. npm test
  6. npm run build-win
  7. make sure the installer works, navigate to .exe and run
  8. obtain SHA256 of .exe file using shasum -a256

MacOS installer for TD desktop

Create MacOS .deb installer and test it on a mac

  1. git clone [email protected]:OWASP/threat-dragon.git
  2. cd threat-dragon/td.desktop
  3. npm install
  4. npm run pretest
  5. npm test
  6. npm run build-osx
  7. make sure the installer works, navigate to .dmg and run
  8. obtain SHA256 of .dmg file using shasum -a256

Linux installers for TD desktop

Create linux .rpm, .deb .snap, AppImage and test them on a linux box

  1. git clone [email protected]:OWASP/threat-dragon.git
  2. cd threat-dragon/td.desktop
  3. npm install
  4. npm run pretest
  5. npm test
  6. npm run build-lin
  7. make sure the installers work, navigate to .deb or .rpm package and test
  8. test the Snap and AppImage ( .snap and .AppImage) files
  9. obtain SHA256 of .deb, .rpm, .snap and .AppImage files using shasum -a256

Threat Dragon: making threat models more dragony