Skip to content

Add CSS style for inline code (#28) #23

Add CSS style for inline code (#28)

Add CSS style for inline code (#28) #23

Workflow file for this run

name: Deploy CD
# GitHub variables:
# - VERSION_TAG
# - ASTRO_SITE_URL
# - ASTRO_BASE_PATH
# - ASTRO_ASSETS_PREFIX
# GitHub secrets:
# - CONFIG_PROD (optional)
on:
# Run on push on production branches
push:
branches:
# Production
- main
paths:
# CI/CD files
- '.github/workflows/deploy.yml'
- 'docker-compose.yml'
- 'docker-compose.cicd.yml'
- '.env'
# Application files
- 'app/**'
# Run on manual triggers
workflow_dispatch:
# Set default GITHUB_TOKEN permissions for the workflow
permissions:
contents: read
# Set workflow concurrency rules
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
# Build job
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
# Dependency steps
- name: Checkout
uses: actions/checkout@v5
- name: Install jq
run: |
# apt-get install jq
sudo apt-get -q update
sudo apt-get -qy install --no-install-recommends jq
# Preparation steps
- name: Load app config in environment
env:
CONFIG_PROD: ${{ secrets.CONFIG_PROD }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
GITHUB_REF_NAME: ${{ github.ref_name }}
GITHUB_VARS: ${{ toJson(vars) }}
run: |
# Load app config in environment
# Load shell functions to load app config variables
. ./.github/workflows/scripts/load_app_config_functions.sh
echo '::group::Load app config variables'
# Deployment
load_var 'GITHUB_REPOSITORY_URL' 'false' "https://github.com/${GITHUB_REPOSITORY}"
load_var 'GITHUB_SHA' 'false' "${GITHUB_SHA}"
load_var 'VERSION_TAG' 'true' "${GITHUB_REF_NAME}"
# Astro
load_var 'ASTRO_SITE_URL' 'true'
load_var 'ASTRO_BASE_PATH' 'true'
load_var 'ASTRO_ASSETS_PREFIX' 'true'
# Application
# (Load env vars for your application here.)
echo '::endgroup::'
# Execution steps
- name: Download FluffEvent association documents
run: |
# download-documents.sh ./app/app
sh ./cicd/download-documents.sh ./app/app
- 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:
# Build
BUILD_CHECK: 'false' # Skip type checks
# Deployment
GITHUB_REPOSITORY_URL: ${{ env.GITHUB_REPOSITORY_URL }}
GITHUB_SHA: ${{ env.GITHUB_SHA }}
VERSION_TAG: ${{ env.VERSION_TAG }}
# Astro
ASTRO_SITE_URL: ${{ env.ASTRO_SITE_URL }}
ASTRO_BASE_PATH: ${{ env.ASTRO_BASE_PATH }}
ASTRO_ASSETS_PREFIX: ${{ env.ASTRO_ASSETS_PREFIX }}
# Application
# (Add env vars for your application here.)
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: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./app/dist
# Deploy job
deploy:
name: Deploy
runs-on: ubuntu-latest
timeout-minutes: 10
# Job dependencies
needs:
- build
# Set GITHUB_TOKEN permissions for the job
permissions:
id-token: write
pages: write
# Set deployment environment
environment:
name: production
url: ${{ steps.deployment.outputs.page_url }}
steps:
# Execution steps
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4