Skip to content

build

build #23

Workflow file for this run

name: build
on:
workflow_call:
inputs:
deploy:
type: boolean
default: false
dry_run:
type: boolean
default: false
workflow_dispatch:
inputs:
deploy:
type: boolean
default: false
dry_run:
type: boolean
default: false
jobs:
build:
runs-on: ubuntu-latest
container:
image: joinframework/join-ci:latest
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build
run: hugo --minify
- name: Upload to GitHub
uses: actions/upload-artifact@v4
with:
name: join-www
path: public/
- name: Deploy
if: inputs.deploy
run: |
mkdir -p $HOME/.ssh
chmod 700 $HOME/.ssh
echo "${{ secrets.JOIN_DEPLOY_KNOWN_HOST }}" >> $HOME/.ssh/known_hosts
chmod 600 $HOME/.ssh/known_hosts
eval $(ssh-agent)
echo "${{ secrets.JOIN_DEPLOY_KEY }}" | ssh-add -
rsync -avz --delete ${{ inputs.dry_run && '--dry-run' || '' }} \
-e "ssh -p ${{ secrets.JOIN_DEPLOY_PORT }} -o UserKnownHostsFile=$HOME/.ssh/known_hosts" \
public/ ${{ secrets.JOIN_DEPLOY_DEST }}