Skip to content
This repository has been archived by the owner on Nov 22, 2021. It is now read-only.

Latest commit

 

History

History
97 lines (72 loc) · 3.66 KB

MAINTENANCE.md

File metadata and controls

97 lines (72 loc) · 3.66 KB

SoundCleod Maintenance

This document is meant for SoundCleod maintainers.

How to Make a Release

  • make release
  • Check if everything looks good
  • git push origin master --tags
  • make update-website
  • Go to GitHub releases https://github.com/salomvary/soundcleod/releases
  • Edit the draft release and copy the changes from CHANGELOG.md
  • Publish the release
  • Bump the version with cd app && npm version prerelease --preid pre ---no-git-tag-version and commit the changes

Setting up the update server

Redeploying the update server from CLI

Working with self-signed code signing certificates on macOS

Start with opening Keychain Access.

Creating a certificate:

  • Keychain Access menu > Certificate Assistant > Create a certificate...
  • Enter your name (or whatever you want)
  • Identity Type: Self Signed Root
  • Certificate Type: Code Signing
  • Continue, Done

Overriding the certificate trust levels:

  • Open the certificate (double click)
  • Expand "> Trust"
  • Set "Code Signing" to "Always Trust"
  • Close the certificate to save it
  • Verify with security find-identity -v -p codesigning

Importing a certificate:

  • File > Import items
  • Select the certificate file
  • Override trust levels as specified above

Exporting a macOS certificate for signing a Windows application:

  • Find the certificate in Keychain Access
  • Right click -> Export
  • Choose .p12 format
  • Add a strong password

Setting up GitHub tokens on Travis CI and AppVeyor

This is required for automatically publishing releases to GitHub.

  • Create a new personal access token on GitHub
    • Only enable public_repo permission
  • Encrypt the token for AppVeyor here
  • Update environment.GH_TOKEN.secure with the token in appveyor.yml
  • Update the token in .travis.yml with travis encrypt --add env GH_TOKEN=<the token> (install the Travis Gem first with gem install travis)
  • Commit and push both .travis.yml and appveyor.yml

Set up code signing certificates on Travis CI and AppVeyor

  • Export the certificate as codesign-certificate.p12
  • Encode file to base64 (macOS: base64 -i codesign-certificate.p12 | pbcopy, Linux: base64 codesign-certificate.p12 > codesign-certificate.txt).
  • Set CSC_LINK and CSC_KEY_PASSWORD environment variables. The base64 encoded value goes into CSC_LINK without change.

Building the website

brew install rbenv
rbenv install 2.3.3 # install latest ruby
rbenv local 2.3.3
ruby --version
make run

See more in GitHub Pages documentation.