Skip to content

Flat route components + View prefix #523

Flat route components + View prefix

Flat route components + View prefix #523

Workflow file for this run

name: build
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- master
pull_request:
branches:
- '*'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
qa:
# Let's implement different jobs for Windows and Linux at some point, especially for packaging scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: 'Test: formatting'
run: 'yarn run test:formatting'
- name: 'Test: typings'
run: 'yarn run test:typings'
- name: 'Test: TS/JS linting'
run: 'yarn run test:lint'
- name: 'Test: CSS linting'
run: 'yarn run test:css'
- name: 'Test: unit'
run: 'yarn run test:unit'
- name: Build application
run: yarn run build
- uses: actions/upload-artifact@v3
with:
name: application-build
path: dist/
# Documentation on environments:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners
binaries-linux:
runs-on: ubuntu-latest
needs: [qa]
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"
- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/
- name: Install Linux dependencies
run: |
sudo apt update
sudo apt install --no-install-recommends -y libopenjp2-tools rpm gcc-multilib g++-multilib
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Package Linux binaries
# - name: Package Linux/Windows binaries
run: yarn run package:l
# run: yarn run package:lw
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/upload-artifact@v3
with:
name: binaries-linux
path: |
build/museeks-linux-i386.deb
build/museeks-linux-amd64.deb
build/museeks-linux-i386.AppImage
build/museeks-linux-x86_64.AppImage
build/museeks-linux-i686.rpm
build/museeks-linux-x86_64.rpm
build/museeks-linux-x64.tar.gz
binaries-macos:
runs-on: macos-latest
needs: [qa]
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"
- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/
- name: Install production dependencies
run: yarn install --frozen-lockfile
- name: Package macOS binaries
run: yarn run package:m
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
- uses: actions/upload-artifact@v3
with:
name: binaries-macos
path: |
build/museeks-macos-arm64.dmg
build/museeks-macos-x64.dmg
binaries-windows:
runs-on: windows-latest
needs: [qa]
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"
- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Package Windows binaries
run: yarn run package:w
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/upload-artifact@v3
with:
name: binaries-windows
path: |
build/museeks-win-x64-setup.exe
build/museeks-win-x64-portable.exe