Skip to content

Update packages & build config #28

Update packages & build config

Update packages & build config #28

Workflow file for this run

name: Check CI
on:
# Run on pull requests to primary branches
pull_request:
branches:
# Production
- main
# Development
- dev
paths:
# CI files
- '.github/workflows/check.yml'
- 'docker-compose.yml'
- 'docker-compose.cicd.yml'
- '.env'
# Application files
- 'app/**'
- 'v1/**'
- 'v2/**'
# Run on manual triggers
workflow_dispatch:
# Set GITHUB_TOKEN permissions for the workflow
permissions:
contents: read
# Set workflow concurrency rules
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# Build job
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
# Steps dependencies
- name: Checkout
uses: actions/checkout@v4
# Execution steps
- name: Pull dependencies
run: |
# docker compose pull --ignore-buildable
docker compose \
-f ./docker-compose.yml -f ./docker-compose.cicd.yml \
--env-file .env \
pull --ignore-buildable
- name: Build for production
env:
GITHUB_REPOSITORY_URL: https://github.com/${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
BUILD_CHECK: "true" # Run type checks
run: |
# docker compose build
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose.yml -f ./docker-compose.cicd.yml \
--env-file .env \
build
- name: Copy application files
run: |
# docker compose up
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose.yml -f ./docker-compose.cicd.yml \
--env-file .env \
up
- name: Check application files
run: |
# Check application files
[ -d ./app/dist ] && [ $(ls -1 ./app/dist | wc -l) -gt 0 ] \
&& echo "Application files found" \
|| ( echo "No application files found" && exit 1 )
# Build v1 job
build-v1:
name: Build v1
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
# Steps dependencies
- name: Checkout
uses: actions/checkout@v4
# Execution steps
- name: Pull dependencies
run: |
# docker compose pull --ignore-buildable
docker compose \
-f ./docker-compose-v1.yml -f ./docker-compose-v1.cicd.yml \
--env-file .env \
pull --ignore-buildable
- name: Build for production
env:
GITHUB_REPOSITORY_URL: https://github.com/${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
BUILD_CHECK: "true" # Run type checks
run: |
# docker compose build
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose-v1.yml -f ./docker-compose-v1.cicd.yml \
--env-file .env \
build
- name: Copy application files
run: |
# docker compose up
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose-v1.yml -f ./docker-compose-v1.cicd.yml \
--env-file .env \
up
- name: Check application files
run: |
# Check application files
[ -d ./v1/dist ] && [ $(ls -1 ./v1/dist | wc -l) -gt 0 ] \
&& echo "Application files found" \
|| ( echo "No application files found" && exit 1 )
# Build v2 job
build-v2:
name: Build v2
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
# Steps dependencies
- name: Checkout
uses: actions/checkout@v4
# Execution steps
- name: Pull dependencies
run: |
# docker compose pull --ignore-buildable
docker compose \
-f ./docker-compose-v2.yml -f ./docker-compose-v2.cicd.yml \
--env-file .env \
pull --ignore-buildable
- name: Build for production
env:
GITHUB_REPOSITORY_URL: https://github.com/${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
BUILD_CHECK: "true" # Run type checks
run: |
# docker compose build
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose-v2.yml -f ./docker-compose-v2.cicd.yml \
--env-file .env \
build
- name: Copy application files
run: |
# docker compose up
export DOCKER_UID="$(id -u)"
docker compose \
-f ./docker-compose-v2.yml -f ./docker-compose-v2.cicd.yml \
--env-file .env \
up
- name: Check application files
run: |
# Check application files
[ -d ./v2/dist ] && [ $(ls -1 ./v2/dist | wc -l) -gt 0 ] \
&& echo "Application files found" \
|| ( echo "No application files found" && exit 1 )