Skip to content

Merge pull request #11 from SoftwareAG/feature-migration-1019 #120

Merge pull request #11 from SoftwareAG/feature-migration-1019

Merge pull request #11 from SoftwareAG/feature-migration-1019 #120

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_ui:
# The type of runner that the job will run on
runs-on: ubuntu-latest
timeout-minutes: 8
defaults:
run:
working-directory: ./analytics-ui
outputs:
version: ${{ steps.save-version.outputs.version }}
# 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
ref: ${{ github.ref_name }}
- name: Save Version
id: save-version
run: echo "version=$(cat package.json | jq '.version' | xargs)" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install dependencies
run: npm ci
# - name: Linting
# run: npm run lint
- name: Build
run: npm run build
- name: Zip build
run: |
cd dist/sag-ps-pkg-analytics-extension
zip -r -q ../../build.zip *
cd ../../..
# ls analytics-ui/
# ls analytics-ui/dist/
# rm -r dist/*
- name: Upload build artifact UI
uses: actions/upload-artifact@v3
with:
name: build-artifact-ui
if-no-files-found: error
retention-days: 1
path: |
analytics-ui/build.zip
build_service:
needs: [build_ui]
# The type of runner that the job will run on
runs-on: ubuntu-latest
timeout-minutes: 8
defaults:
run:
working-directory: ./analytics-service
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# start building backend
# - name: Save Version
# id: save-version
# run: echo "version=$(cat ../analytics-ui/package.json | jq '.version' | xargs)" >> $GITHUB_OUTPUT
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.ref_name }}
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Build backend
run: |
./build.sh analytics-ext-service ${{ needs.build_ui.outputs.version }}
- name: Upload build artifact service
uses: actions/upload-artifact@v3
with:
name: build-artifact-service
if-no-files-found: error
retention-days: 1
path: |
./analytics-service/dist/analytics-ext-service.zip
release-assets:
needs: [build_ui, build_service]
# if: ${{ needs.release.outputs.initial-version != needs.release.outputs.version }}
name: Release assets
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Download artifact service
uses: actions/download-artifact@v3
with:
name: build-artifact-service
path: |
./analytics-service
- name: Debug file
run: |
ls -lah ./analytics-service
pwd
- name: Release Backend
uses: softprops/action-gh-release@v1
with:
files: |
./analytics-service/*.zip
tag_name: v${{ needs.build_ui.outputs.version }}
- name: Download build artifact UI
uses: actions/download-artifact@v3
with:
name: build-artifact-ui
path: |
./analytics-ui
- name: Rename file
run: |
mv ./analytics-ui/build.zip ./analytics-ui/sag-ps-pkg-analytics-extension-${{ needs.build_ui.outputs.version }}.zip
ls -lah ./analytics-ui
pwd
- name: Release UI
uses: softprops/action-gh-release@v1
with:
files:
./analytics-ui/*.zip
tag_name: v${{ needs.build_ui.outputs.version }}