alerta_alerta-webui/.github/workflows/release.yml

81 lines
1.9 KiB
YAML

name: Release
on:
push:
tags: [ 'v*' ]
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm version
- run: npm install
- name: Lint
id: lint
run: npm run lint:nofix
- name: Unit Test
id: unit-test
run: npm run test:unit
- uses: act10ns/slack@v2
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()
release:
name: Publish
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm version
- run: npm install
- name: Build artifacts
id: build
run: |
npm run build
zip alerta-webui.zip -r dist/*
tar cvfz alerta-webui.tar.gz dist/*
- name: Create Release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Zip File
id: upload-zip-file
uses: softprops/action-gh-release@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: ./alerta-webui.zip
- name: Upload Compressed TAR File
id: upload-tarball
uses: softprops/action-gh-release@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: ./alerta-webui.tar.gz
- uses: act10ns/slack@v2
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()