Skip to content

Bump the java-dependencies group across 1 directory with 14 updates #673

Bump the java-dependencies group across 1 directory with 14 updates

Bump the java-dependencies group across 1 directory with 14 updates #673

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
paths-ignore:
- '**/workflows/update-jre.yml'
- '.github/workflows/gh-pages.yml'
- '.github/workflows/codeql-analysis.yml'
- '.github/workflows/update-release.yml'
- '.github/*.yml'
- 'website/**'
pull_request:
branches: [ main ]
paths-ignore:
- '**/workflows/update-jre.yml'
- '.github/workflows/gh-pages.yml'
- '.github/workflows/codeql-analysis.yml'
- '.github/*.yml'
- 'website/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
GH_TOKEN: ${{secrets.PUBLISH_GH_TOKEN}}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Windows has problems with the lenghts of the filenames / pahts of the tosca-definitions-common repo.
# This enables long paths for Windows.
- name: Enable long paths
run: git config --global core.longpaths true
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/setup-node@master
with:
node-version: 18
- name: Cache winery launcher
uses: actions/cache@v3
id: cache-winery-launcher
with:
path: |
winery-launcher/target/**/*
# TODO: also hash winery submodule HEAD
key: winery-launcher-${{ hashFiles('winery-launcher/src/**/*', 'winery-launcher/pom.xml', '.git/modules/vendor/winery/HEAD', 'jre-version.json') }}
enableCrossOsArchive: true
- name: Cache local Maven repository
if: ${{ steps.cache-winery-launcher.outputs.cache-hit == false }}
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Setup xvfb (Linux)
if: runner.os == 'Linux'
run: sudo apt-get install xvfb
- name: Install NPM dependencies
run: npm ci
- name: Get and build app dependencies
run: npm run deps
# winery-launcher is tested my maven after build
- name: Test Electron app
run: npm run test:electron
- name: Build Electron main
run: npm run build:main:prod
- name: Build Electron renderer
run: npm run build:renderer:prod
- name: Build distribution package
if: github.event_name == 'pull_request'
run: npm run ci:package
# electron-builder sometimes fails to publish artifacts due to random
# connection resets while uploading go GitHub.
# This step uses the retry action to try again on upload failure up to
# 5 times.
- name: Build and publish distribution package
uses: nick-fields/retry@v2
if: github.event_name != 'pull_request'
with:
command: npm run ci:dist
max_attempts: 5
timeout_minutes: 20