meta-grabber/.github/workflows/buildAndRelease.yml
2023-01-21 00:14:28 +01:00

75 lines
1.9 KiB
YAML

name: Build and Release
on:
push:
branches:
- develop
jobs:
test:
uses: ./.github/workflows/reusable-test.yml
lookForRelease:
needs: test
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Get version number
uses: stevenbenitez/get-package-version-action@v1
id: package-version
- name: Get release for current version number
id: get_release
uses: joutvhu/get-release@v1.0.1
with:
tag_name: v${{ steps.package-version.outputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
outputs:
release_id: ${{ steps.get_release.outputs.id }}
release_is_draft: ${{ steps.get_release.outputs.draft }}
deleteReleaseAssets:
needs: lookForRelease
if: |
needs.lookForRelease.outputs.release_id == null ||
needs.lookForRelease.outputs.release_is_draft == 'true'
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Delete current release assets
uses: andreaswilli/delete-release-assets-action@v1.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
packageAndRelease:
needs: deleteReleaseAssets
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 16
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# mac_certs: ${{ secrets.MAC_CERTS }}
# mac_certs_password: ${{ secrets.MAC_CERTS_PASSWORD }}
release: true