Skip to content

Build Plugin

Build Plugin #11

Workflow file for this run

# This workflow will build a plugin to upload analytics extensions (Aanalytics Builder))
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Build Plugin
on:
workflow_dispatch:
push:
# Sequence of patterns matched against refs/tags
# tags:
# - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
branches:
- main
- next
- beta
- '*.x'
- '*.*.x'
permissions:
contents: write
issues: write
pull-requests: write
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
timeout-minutes: 8
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
- name: Install dependencies
run: npm ci
#- name: Linting
# run: npm run lint
- name: Build
run: npm run build:ci
- name: Zip build
run: |
cd dist/apps/sag-ps-pkg-datacapture-widget
zip -r -q ../../build.zip *
cd ../../..
rm -r dist/apps
- name: Upload build artifact
uses: actions/upload-artifact@v3
with:
name: build
if-no-files-found: error
retention-days: 5
path: |
dist/build.zip
release:
name: Release
runs-on: ubuntu-latest
needs: [build]
timeout-minutes: 8
outputs:
initial-version: ${{ steps.save-initial-version.outputs.version }}
version: ${{ steps.save-version.outputs.version }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: Save initial Version
id: save-initial-version
run: echo "version=$(cat package.json | jq '.version' | xargs)" >> $GITHUB_OUTPUT
- name: Install dependencies
run: npm ci
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release
- name: Save Version
id: save-version
run: echo "version=$(cat package.json | jq '.version' | xargs)" >> $GITHUB_OUTPUT
release-assets:
needs: [release]
#if: ${{ needs.release.outputs.initial-version != needs.release.outputs.version }}
name: Release assets
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: v${{ needs.release.outputs.version }}
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build:ci
- name: Zip build
run: |
cd dist/apps/sag-ps-pkg-datacapture-widget
zip -r -q ../../../sag-ps-pkg-datacapture-widget-${{ needs.release.outputs.version }}.zip *
cd ../../..
rm -r dist/apps
- name: Release
uses: softprops/action-gh-release@v1
with:
files: sag-ps-pkg-datacapture-widget-${{ needs.release.outputs.version }}.zip
tag_name: v${{ needs.release.outputs.version }}