chore(devtools): non-build updates from client (#1103)

* okay put this up see where we're at

* update builds here

* check browserslist

* add badge

* Update build_and_test_debug.yml

* scopes & electron version
This commit is contained in:
Daniel LaCosse 2022-06-03 10:08:21 -04:00 • committed by GitHub
parent c69c7167c0
commit 2d3481574f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 2739 additions and 7889 deletions

View file

@ -9,6 +9,9 @@ on:
types:
- opened
- synchronize
push:
branches:
- master
jobs:
lint:
@ -119,14 +122,7 @@ jobs:
run: npm ci
- name: Build Linux Manager
run: npm run action server_manager/electron_app/build --platform linux
- name: Upload Linux Client
uses: actions/upload-artifact@v2
with:
name: manager_linux_debug
path: build/server_manager/electron_app/static/dist/Outline-Manager.AppImage
if-no-files-found: error
run: npm run action server_manager/electron_app/build linux
manager-windows-debug-build:
name: Manager Windows Debug Build
@ -148,14 +144,7 @@ jobs:
run: npm ci
- name: Build Windows Manager
run: npm run action server_manager/electron_app/build --platform windows
- name: Upload Windows Manager
uses: actions/upload-artifact@v2
with:
name: manager_windows_debug
path: build/server_manager/electron_app/static/dist/Outline-Manager.exe
if-no-files-found: error
run: npm run action server_manager/electron_app/build windows
manager-mac-debug-build:
name: Manager MacOS Debug Build
@ -180,11 +169,4 @@ jobs:
run: sudo xcode-select -switch /Applications/Xcode_13.2.app
- name: Build MacOS Manager
run: npm run action server_manager/electron_app/build --platform mac
- name: Upload MacOS Manager
uses: actions/upload-artifact@v2
with:
name: manager_macos_debug
path: build/server_manager/electron_app/static/dist/Outline-Manager.dmg
if-no-files-found: error
run: npm run action server_manager/electron_app/build macos

View file

@ -1,16 +0,0 @@
name: Build Release Candidates
concurrency:
group: ${{ github.head_ref || github.ref }}
cancel-in-progress: true
on:
push:
branches:
- master
jobs:
linux:
uses: ./.github/workflows/manager_linux_build_release_candidate.yml
secrets:
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}

View file

@ -1,37 +0,0 @@
name: Build Linux Release Candidate
on:
workflow_call:
secrets:
SENTRY_DSN:
required: true
jobs:
manager-linux-release-build:
name: Manager Linux Release Build
runs-on: ubuntu-latest
timeout-minutes: 10
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
BUILD_ENV: production
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install Node
uses: actions/setup-node@v2.2.0
with:
node-version: 16
- name: Install NPM Dependencies
run: npm ci
- name: Build Linux Release Candidate
run: npm run action server_manager/electron_app/build linux -- --buildMode=release
- name: Upload Linux Release Candidate
uses: actions/upload-artifact@v2
with:
name: manager_linux_release_${{ github.sha }}
path: build/server_manager/electron_app/static/dist
if-no-files-found: error

View file

@ -1,79 +0,0 @@
name: Publish Manager Linux Release Candidate
on:
workflow_dispatch:
inputs:
commit_sha:
description: "SHA of commit to publish (example: 2ac8bd4a915a7c8a3e3a63081d72da33baa9ea7e)"
required: true
jobs:
publish-release:
name: Publish Client Linux Release Candidate
runs-on: ubuntu-latest
timeout-minutes: 15
environment: Releases Repository
env:
RELEASES_REPOSITORY: ${{ secrets.RELEASES_REPOSITORY }}
RELEASES_DEPLOY_KEY: ${{ secrets.RELEASES_DEPLOY_KEY }}
RELEASE_COMMIT_SHA: ${{ github.event.inputs.commit_sha }}
# STORE_LOGIN: ${{ secrets.SNAP_STORE_LOGIN }}
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install Node
uses: actions/setup-node@v2.2.0
with:
node-version: 16
- name: Install NPM Dependencies
run: npm ci
- name: Download Release Candidate
uses: dawidd6/action-download-artifact@575b1e4167df67acf7e692af784566618b23c71e
with:
workflow: build_release_candidates.yml
commit: ${{ env.RELEASE_COMMIT_SHA }}
name: manager_linux_release_${{ env.RELEASE_COMMIT_SHA }}
path: manager_linux_release
- name: Checkout Releases Repository
uses: actions/checkout@v2.3.4
with:
repository: ${{ env.RELEASES_REPOSITORY }}
ssh-key: ${{ env.RELEASES_DEPLOY_KEY }}
path: outline-releases
- name: Push Tags and Release Commits
run: |
git config --global user.name "OutlineBot"
git config --global user.email "outlinebot@users.noreply.github.com"
RELEASE_VERSION="$(node scripts/get_version.mjs linux)"
RELEASE_TAG="linux-${RELEASE_VERSION}"
[ "$(git tag -l "$RELEASE_TAG")" != "" ] && exit 1
cp manager_linux_release/Outline-Manager.AppImage outline-releases/manager/stable/Outline-Manager.AppImage
cp manager_linux_release/latest-linux.yml outline-releases/manager/stable/latest-linux.yml
cd outline-releases
git checkout master
git add manager/stable/Outline-Manager.AppImage manager/stable/latest-linux.yml
git commit -m "Release linux manager v${RELEASE_VERSION}"
git push origin master
git tag "$RELEASE_TAG"
git push origin "$RELEASE_TAG"
cd ..
git tag "$RELEASE_TAG"
git push origin "$RELEASE_TAG"
# TODO(daniellacosse): S3 bucket?
# TODO(daniellacosse): snap store
# - name: Publish to Snap store
# uses: snapcore/action-publish@v1
# with:
# store_login: ${{ secrets.STORE_LOGIN }}
# snap: build/dist/Outline-Manager.AppImage
# release: edge

View file

@ -0,0 +1,68 @@
name: Pull Request Checks
on:
pull_request:
types:
- opened
# This `edited` flag is why we need a separate workflow -
# specifying edited here causes this job to be re-run whenever someone edits the PR title/description.
# If we had the debug builds in this file, they would run unnecessarily, costing resources.
- edited
- synchronize
jobs:
name_check:
name: Pull Request Name Check
runs-on: ubuntu-latest
permissions:
pull-requests: read
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Clone Repository
uses: actions/checkout@v2
- name: Install Node
uses: actions/setup-node@v2.2.0
with:
node-version: 16
cache: npm
- name: Install NPM Dependencies
run: npm ci
- name: Ensure Commitizen Format
uses: JulienKode/pull-request-name-linter-action@98794a8b815ec05560813c42e55fd8d32d3fd248
size_label:
name: Change Size Label
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Apply Size Label
uses: pascalgn/size-label-action@a4655c448bb838e8d73b81e97fd0831bb4cbda1e
env:
IGNORED: |
LICENSE
package-lock.json
resources
src/server_manager/messages
src/server_manager/images
third_party
with:
sizes: >
{
"0": "XS",
"64": "S",
"128": "M",
"256": "L",
"512": "XL",
"1024": "XXL"
}