Skip to content

Commit

Permalink
test deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
SebastianBurke committed Nov 6, 2024
1 parent 6092347 commit adbddaa
Showing 1 changed file with 14 additions and 61 deletions.
75 changes: 14 additions & 61 deletions .github/workflows/demo-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive # This initializes and updates submodules automatically
submodules: recursive # Initializes and updates submodules automatically

# Step 2: Set up Node.js and Bower
- name: Set up Node.js
Expand Down Expand Up @@ -45,72 +45,25 @@ jobs:
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 4.5: Verify gh-pages Directory Contents
- name: Verify gh-pages Directory Contents
run: ls -R ${{ github.workspace }}/gh-pages

# Step 5: Ensure a Clean gh-pages Directory and Update Submodule
- name: Dist - Prepare gh-pages Directory
# Step 5: Reinitialize gh-pages Branch Cleanly
- name: Reinitialize gh-pages Branch
run: |
# Define the gh-pages path
GHPAGES_PATH="${{ github.workspace }}/gh-pages"
# Remove gh-pages directory if it exists to ensure a clean slate
# Remove gh-pages directory if it exists
if [ -d "$GHPAGES_PATH" ]; then
echo "Removing existing gh-pages directory..."
rm -rf "$GHPAGES_PATH"
fi
# Clone the gh-pages branch if it exists, or initialize it
if git ls-remote --exit-code --heads https://github.com/${{ github.repository_owner }}/GCWeb.git gh-pages; then
git clone --depth 1 https://github.com/${{ github.repository_owner }}/GCWeb.git --branch gh-pages "$GHPAGES_PATH"
else
# Create an empty gh-pages branch if it doesn't exist
git clone --depth 1 https://github.com/${{ github.repository_owner }}/GCWeb.git "$GHPAGES_PATH"
cd "$GHPAGES_PATH"
git checkout --orphan gh-pages
git rm -rf .
touch .nojekyll # To prevent GitHub Pages from processing files as Jekyll
git commit --allow-empty -m "Initialize gh-pages branch"
git push origin gh-pages
cd ..
rm -rf "$GHPAGES_PATH"
fi
# Move into the gh-pages directory and update the submodule
# Reinitialize the gh-pages branch with a clean history
git clone https://github.com/${{ github.repository_owner }}/GCWeb.git "$GHPAGES_PATH"
cd "$GHPAGES_PATH"
git submodule update --init --recursive
# Set Git user identity for commits in this environment
git config user.name "GitHub Actions"
git config user.email "[email protected]"
# If the submodule doesn’t exist, add it
if [ ! -d "GCWeb" ]; then
git submodule add -b master https://github.com/ServiceCanada/wet-boew-demos.git GCWeb
fi
# Fetch and reset submodule to the latest commit on the desired branch
cd GCWeb
git remote set-url origin https://github.com/ServiceCanada/wet-boew-demos.git
git fetch --depth 1 origin
# Try to reset to 'master' or fallback to 'gh-pages'
if git rev-parse --verify origin/master > /dev/null 2>&1; then
git reset --hard origin/master
elif git rev-parse --verify origin/gh-pages > /dev/null 2>&1; then
git reset --hard origin/gh-pages
else
echo "Neither 'master' nor 'gh-pages' branches found in the submodule repository."
exit 1
fi
cd ..
# Commit any changes and sync the latest gh-pages changes
git add .gitmodules GCWeb
git commit -m "Update submodule GCWeb" --allow-empty
git pull --rebase origin gh-pages || true # Sync with remote, ignore rebase errors
git checkout --orphan gh-pages
git rm -rf .
touch .nojekyll
git add .nojekyll
git commit -m "Reinitialize gh-pages branch"
git push --force origin gh-pages
# Step 6: Force Push to gh-pages Branch with Authentication
- name: Configure Remote with GitHub Token
Expand Down

0 comments on commit adbddaa

Please sign in to comment.