Integration tests may depend on third parties and can fail from time to time. In some situations failing tests can be acceptable to go forward with deployments. They should not be a requirement that blocks deployments. They may lead to unintended lack of distributed packages as seen in #90.
34 lines
1.3 KiB
YAML
34 lines
1.3 KiB
YAML
name: Deploy desktop
|
|
|
|
on:
|
|
release:
|
|
types: [created] # will be triggered when a NON-draft release is created and published.
|
|
|
|
jobs:
|
|
publish-desktop-app:
|
|
name: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [macos, ubuntu, windows]
|
|
fail-fast: false # So publish runs for other OSes if one fails
|
|
runs-on: ${{ matrix.os }}-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
ref: master # otherwise it defaults to the version tag missing bump commit
|
|
fetch-depth: 0 # fetch all history
|
|
- name: Checkout to bump commit
|
|
run: git checkout "$(git rev-list "${{ github.event.release.tag_name }}"..master | tail -1)"
|
|
- name: Setup node
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 15.x
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Run unit tests
|
|
run: npm run test:unit
|
|
- name: Publish desktop app
|
|
run: npm run electron:build -- -p always # https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/recipes.html#upload-release-to-github
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
EP_GH_IGNORE_TIME: true # Otherwise publishing fails if GitHub release is more than 2 hours old https://github.com/electron-userland/electron-builder/issues/2074 |