Skip to content

Commit

Permalink
Add GitHub Actions workflow to build applications (#626)
Browse files Browse the repository at this point in the history
  • Loading branch information
frederikprijck authored Nov 8, 2023
1 parent 2342db5 commit 6431682
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 0 deletions.
47 changes: 47 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Build application
description: Build the example application

inputs:
node:
description: The node version to use
required: false
default: 18
working_directory:
description: The current working directory
required: true
config_path:
description: The path to the configuration file
required: true
test_cmd:
description: The command to run the tests
required: true
default: npm test

runs:
using: composite

steps:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ inputs.node }}

- name: Install dependencies
shell: bash
run: npm ci
working-directory: ${{ inputs.working_directory }}

- name: Copy config
shell: bash
run: |
cp ${{ inputs.working_directory }}/${{ inputs.config_path }}/auth.config.ts.example ${{ inputs.working_directory }}/${{ inputs.config_path }}/auth.config.ts
- name: Build
shell: bash
run: npm run build
working-directory: ${{ inputs.working_directory }}

- name: Tests
shell: bash
run: ${{ inputs.test_cmd }}
working-directory: ${{ inputs.working_directory }}
73 changes: 73 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Build

on:
merge_group:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

env:
NODE_VERSION: 18
CACHE_KEY: '${{ github.ref }}-${{ github.run_id }}-${{ github.run_attempt }}'

jobs:
build_angular:
name: Build Angular
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- name: Build Angular
uses: ./.github/actions/build
with:
node: ${{ env.NODE_VERSION }}
working_directory: angular
config_path: src/app
test_cmd: npm run test:ci
build_react:
name: Build React
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- name: Build React
uses: ./.github/actions/build
with:
node: ${{ env.NODE_VERSION }}
working_directory: react
config_path: src
build_vue:
name: Build Vue
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- name: Build Vue
uses: ./.github/actions/build
with:
node: ${{ env.NODE_VERSION }}
working_directory: vue
config_path: src

0 comments on commit 6431682

Please sign in to comment.