Skip to content

test deployment

test deployment #37

Workflow file for this run

name: Demo Deployment
on:
push:
branches:
- main
- 'gcweb-pr*'
- demo-deploy
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository and initialize submodules
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive # Initializes and updates submodules automatically
# Step 2: Set up Node.js and Bower
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Bower
run: npm install -g bower
# Step 3: Install dependencies and build demo files
- name: Install dependencies
run: npm install --legacy-peer-deps
- name: Build Demo Files (GCWeb)
run: |
grunt demo --branch=${{ github.ref_name }}
docker compose up -d
- name: Build Demo Files (WET-BOEW)
run: grunt dist
# Step 4: Copy built files to the gh-pages directory
- name: Copy Built Files to gh-pages
run: |
# Ensure the gh-pages directory exists
mkdir -p ${{ github.workspace }}/gh-pages
# Copy the built files to gh-pages
if [ -d "./~sites" ]; then rsync -av ./~sites/ ${{ github.workspace }}/gh-pages/; fi
if [ -d "./dist" ]; then rsync -av ./dist/* ${{ github.workspace }}/gh-pages/; fi
# Step 5: Initialize or Update gh-pages Branch
- name: Initialize or Update gh-pages Branch
run: |
GHPAGES_PATH="${{ github.workspace }}/gh-pages"
# Remove gh-pages directory if it exists to start clean
if [ -d "$GHPAGES_PATH" ]; then
rm -rf "$GHPAGES_PATH"
fi
# Clone the gh-pages branch if it exists, or create it if not
git clone https://github.com/${{ github.repository_owner }}/GCWeb.git "$GHPAGES_PATH"
cd "$GHPAGES_PATH"
if git rev-parse --verify origin/gh-pages; then
git checkout gh-pages
git pull origin gh-pages
else
git checkout --orphan gh-pages
git rm -rf .
touch .nojekyll
git add .nojekyll
git commit -m "Initialize gh-pages branch"
git push --force origin gh-pages
fi
# Set Git user identity for commits in this environment
git config user.name "GitHub Actions"
git config user.email "[email protected]"
# Add or update the submodule for the demo if necessary
if [ ! -d "GCWeb" ]; then
git submodule add -b master https://github.com/ServiceCanada/wet-boew-demos.git GCWeb
fi
# Check if .gitmodules exists before attempting to add it
if [ -f .gitmodules ]; then
git add .gitmodules
fi
git add GCWeb
git commit -m "Update submodule GCWeb" --allow-empty
git pull --rebase origin gh-pages || true # Sync with remote, ignore rebase errors
# Step 6: Force Push to gh-pages Branch
- name: Force Push to gh-pages
run: |
cd ${{ github.workspace }}/gh-pages
git push origin gh-pages --force