Release Outline Manager on Github Actions (#978)

Release Outline Manager on Github Actions
This commit is contained in:
Jonathan Cohen 2021-09-23 16:28:11 -04:00 committed by GitHub
parent b0eb85ef14
commit c9d3a48b62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 1971 additions and 1658 deletions

71
.github/workflows/release_manager.yml vendored Normal file
View file

@ -0,0 +1,71 @@
name: Release Manager
on:
push:
tags:
- "v[0-9]*"
env:
SENTRY_DSN: https://533e56d1b2d64314bd6092a574e6d0f1@o74047.ingest.sentry.io/215496
jobs:
release_manager:
name: Release Manager
runs-on: ${{ matrix.os }}
environment: Production Outline Manager
strategy:
matrix:
os: [ubuntu-20.04, macos-latest]
# Don't cancel jobs on other platforms if one fails
fail-fast: false
steps:
- name: Checkout repo
uses: actions/checkout@v1
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 12
- name: Show Environment Info
run: |
yarn -v
openssl version
env
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Check yarn cache
uses: actions/cache@v2
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn --prefer-offline
- name: Release Linux
if: runner.os == 'Linux'
run: yarn do server_manager/electron_app/release_linux
- name: Release MacOS
if: runner.os == 'macOS'
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
ENCRYPTED_SIGNING_CERT_IV: ${{ secrets.ENCRYPTED_SIGNING_CERT_IV }}
ENCRYPTED_SIGNING_CERT_KEY: ${{ secrets.ENCRYPTED_SIGNING_CERT_KEY }}
run: |
openssl aes-256-cbc -K $ENCRYPTED_SIGNING_CERT_KEY -iv $ENCRYPTED_SIGNING_CERT_IV -in macos-signing-certificate.p12.enc -out macos-signing-certificate.p12 -d -md sha256
export CSC_LINK=$(pwd)/macos-signing-certificate.p12
yarn do server_manager/electron_app/release_macos
- name: Deploy
uses: softprops/action-gh-release@v1
with:
files: "build/server_manager/electron_app/static/dist/*.*"
draft: true

View file

@ -5,15 +5,15 @@ on: push
jobs:
manager:
name: Build and Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
# This matches the Ubuntu version used in our Travis releases
os: [ubuntu-16.04]
os: [ubuntu-20.04]
# Don't cancel jobs on other platforms if one fails
fail-fast: false
steps:
- name: Checkout repo
uses: actions/checkout@v1
@ -36,9 +36,9 @@ jobs:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn --prefer-offline
run: NODE_DTRACE_PROVIDER_REQUIRE=hard yarn --prefer-offline
- name: Lint
run: yarn lint
@ -54,13 +54,13 @@ jobs:
yarn do shadowbox/server/build
yarn do shadowbox/test
yarn do shadowbox/integration_test/run
- name: Metrics Server
if: runner.os == 'Linux'
run: |
yarn do metrics_server/build
yarn do metrics_server/test
- name: Sentry Webhook
if: runner.os == 'Linux'
run: yarn do sentry_webhook/build