56 lines
2.3 KiB
YAML
56 lines
2.3 KiB
YAML
# .github/workflows/arise-deploy.yml
|
|
name: Deploy Arise to html branch
|
|
|
|
on:
|
|
# Runs on pushes targeting the default branch
|
|
# Only runs when the push contains changes to the site source itself. No need to rebuild the site if it's just program files that have changed.
|
|
push:
|
|
branches: ["main"]
|
|
paths: ['arise-source/**']
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
# Default to bash
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
name: Deploy Arise
|
|
steps:
|
|
- name: Check if we should deploy to prod or staging
|
|
run: |
|
|
echo "SMART DEPLOY"
|
|
echo "============"
|
|
echo "We only want to deploy to prod if the branch that triggered this workflow is 'main'. Otherwise, we want the site to be deployed to staging..."
|
|
echo ""
|
|
if [[ $GITHUB_REF == 'refs/heads/main' ]]; then
|
|
# Feel free to change the value of OUTPUT_BRANCH. This is where Arise artefacts will be deployed for production.
|
|
echo "OUTPUT_BRANCH=html" >> "$GITHUB_ENV"
|
|
echo "Workflow running from main branch. Pushing results to production deployment branch (html)."
|
|
else
|
|
# Feel free to change the value of OUTPUT_BRANCH. This is where Arise artefacts will be deployed for staging.
|
|
echo "OUTPUT_BRANCH=html-staging" >> "$GITHUB_ENV"
|
|
echo "Workflow running from a development branch. Pushing results to staging deployment branch (html-staging)."
|
|
fi
|
|
|
|
- name: git-checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install pandoc
|
|
run: sudo apt-get install -y pandoc
|
|
|
|
- name: Build Arise
|
|
run: bash arise build
|
|
|
|
- name: Push to live branch
|
|
uses: s0/git-publish-subdir-action@develop
|
|
env:
|
|
REPO: self
|
|
BRANCH: ${{ env.OUTPUT_BRANCH }} # If you want to change this, change it in the step above. This allows us to intelligently deploy to production from main or staging if we're on a dev branch.
|
|
FOLDER: arise-out # The Arise build output location. Don't change this.
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Handled automatically -- Don't change this unless you're pushing to a different repo
|
|
MESSAGE: "Commit: ({sha}) {msg}" # Copies commit msg from main to the deploy version branch
|