insomnia/.github/workflows/release-recurring.yml
Filipe Freire 1160b4a09c
Recurring releases of insomnia app (INS-1429) (#4474)
* Update default electron-builder targetgs

* Allow setting a build ref

Changes the default version to `0.0.1-dev+unknown`, so that build/packaging can be easily ran locally without setting any environment variables.

* Adds recurring release workflow

New workflow that'll pre-bake artifacts when there's changes on PRs or on develop.

Artifacts can be used for all platforms to test out a PR or latest develop without the need to build locally.

Co-Authored-By: David Marby <david@dmarby.se>

* Make recurring flow independent from Test flow

Co-Authored-By: David Marby <david@dmarby.se>

* Use setup-node@v2

Co-Authored-By: David Marby <david@dmarby.se>

* Update .github/workflows/release-recurring.yml

Co-authored-by: David Marby <david@dmarby.se>

* It's always the single quotes 🙏 😚

* Use bash shell

* Disable fail-fast

* Add cancel-in-progress setting to recurring releases

If someone pushes a new commit, triggering a new recurring job on a PR or develop, we cancel ongoing workflow.

Co-Authored-By: David Marby <david@dmarby.se>

* Change concurrency setting to workflow level

Co-Authored-By: David Marby <david@dmarby.se>

Co-authored-by: David Marby <david@dmarby.se>
2022-02-10 15:32:33 +00:00

54 lines
1.4 KiB
YAML

name: Release recurring
# This workflow bakes executables of the major platforms for Testing purposes
on:
workflow_dispatch:
push:
branches:
- develop
pull_request:
types:
- opened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-upload-artifacts:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: "macos-latest"
build-targets: "zip"
- os: "windows-latest"
build-targets: "portable"
- os: "ubuntu-latest"
build-targets: "tar.gz"
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version-file: '.nvmrc'
- name: Bootstrap packages
run: npm run bootstrap
- name: Package
shell: bash
run: BUILD_REF="$(git rev-parse --short HEAD)" BUILD_TARGETS='${{ matrix.build-targets }}' npm run app-package
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
if-no-files-found: ignore
name: ${{ matrix.os }}-artifacts-${{ github.run_number }}
path: |
packages/insomnia-app/dist/*.exe
packages/insomnia-app/dist/*.tar.gz
packages/insomnia-app/dist/*.zip