Release Events #36
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Events | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
inputs: | |
environment: | |
description: 'Environment to run tests against' | |
type: environment | |
required: true | |
permissions: | |
id-token: write | |
deployments: write | |
contents: write | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
deploy-macos: | |
name: Publish macOS app | |
runs-on: macos-latest | |
environment: | |
name: prod | |
steps: | |
- name: ⬇️ Set up code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: ⎔ Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: npm | |
- name: 🐍 Set up python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: 🧑🎓 Set up signing certificates | |
uses: apple-actions/import-codesign-certs@v3 | |
with: | |
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }} | |
p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
- name: 💻 Set up app DMG | |
run: | | |
python3 -m pip install setuptools | |
npm install -g appdmg@0.6.6 | |
- name: 📥 Install dependencies | |
run: npm ci | |
- name: 🚀 Build, Package, & Release | |
run: npm run publish -- --arch=universal | |
env: | |
APPLE_IDENTITY: ${{ secrets.APPLE_IDENTITY }} | |
APPLE_USER_ID: ${{ secrets.APPLE_USER_ID }} | |
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GA4_ID: ${{ secrets.GA4_ID }} | |
GA4_SECRET: ${{ secrets.GA4_SECRET }} | |
VITE_IS_BETA: ${{ github.event.release.prerelease == true }} | |
deploy-windows: | |
name: Publish windows app | |
runs-on: windows-latest | |
environment: | |
name: prod | |
steps: | |
- name: ⬇️ Set up code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: ⎔ Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: npm | |
- name: 📥 Install dependencies | |
run: npm ci | |
- name: 🚀 Build, Package, & Release | |
run: npm run publish | |
env: | |
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
VITE_IS_BETA: ${{ github.event.release.prerelease == true }} | |
change-management: | |
name: Change management | |
needs: [deploy-macos, deploy-windows] | |
runs-on: ubuntu-latest | |
environment: | |
name: prod | |
permissions: | |
contents: read | |
pull-requests: write | |
issues: write | |
steps: | |
- name: 🔔 Create deployment notification | |
uses: agrc/service-now-worknote-action@v1 | |
with: | |
repo-token: ${{ github.token }} | |
username: ${{ secrets.SN_USERNAME }} | |
password: ${{ secrets.SN_PASSWORD }} | |
instance-name: ${{ secrets.SN_INSTANCE }} | |
table-name: ${{ secrets.SN_TABLE }} | |
system-id: ${{ secrets.SN_SYS_ID }} | |
- name: 💬 Comment on issues in release | |
uses: agrc/release-issue-notifications-action@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} |