forked from github.com/GenderDysphoria.fyi
100 lines
2.9 KiB
YAML
100 lines
2.9 KiB
YAML
name: Build and deploy website.
|
|
on:
|
|
push:
|
|
# paths:
|
|
# - "content/**"
|
|
# - "static/**"
|
|
# - "templates/**"
|
|
branches:
|
|
- "master"
|
|
- "ci-testing"
|
|
|
|
jobs:
|
|
job1:
|
|
name: Build static site.
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Get current date
|
|
id: date
|
|
run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')"
|
|
-
|
|
name: Checkout the git repo...
|
|
uses: actions/checkout@v3
|
|
-
|
|
name: Install required system packages...
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt update
|
|
apt upgrade -y
|
|
apt install -y curl graphicsmagick
|
|
-
|
|
name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '14'
|
|
-
|
|
name: Install node dependencies
|
|
run: npm ci
|
|
-
|
|
name: Lint JS code
|
|
run: npm test
|
|
-
|
|
name: Build site
|
|
run: npm run build
|
|
-
|
|
name: Upload artifact...
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: build_artifact
|
|
path: dist
|
|
retention-days: 7
|
|
# job2:
|
|
# needs: job1
|
|
# name: Connect to deployment host, update, and redeploy docs website.
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# -
|
|
# name: Install required system packages...
|
|
# run: |
|
|
# export DEBIAN_FRONTEND=noninteractive
|
|
# apt update
|
|
# apt upgrade -y
|
|
# apt install -y iputils-ping
|
|
# -
|
|
# name: Configure SSH...
|
|
# env:
|
|
# SSH_USER: ${{ secrets.PRODUCTION_SSH_USER }}
|
|
# SSH_KEY: ${{ secrets.PRODUCTION_SSH_KEY }}
|
|
# SSH_HOST: ${{ secrets.PRODUCTION_SSH_HOST }}
|
|
# run: |
|
|
# mkdir -p ~/.ssh/
|
|
# echo "$SSH_KEY" > ~/.ssh/staging.key
|
|
# chmod 600 ~/.ssh/staging.key
|
|
# cat >> ~/.ssh/config <<END
|
|
# Host staging
|
|
# HostName $SSH_HOST
|
|
# User $SSH_USER
|
|
# IdentityFile ~/.ssh/staging.key
|
|
# StrictHostKeyChecking no
|
|
# END
|
|
# cat ~/.ssh/config
|
|
# -
|
|
# name: Test SSH Host...
|
|
# env:
|
|
# SSH_HOST: ${{ secrets.PRODUCTION_SSH_HOST }}
|
|
# run: |
|
|
# ping -c 3 $SSH_HOST
|
|
# ssh staging 'ls'
|
|
# -
|
|
# name: Pull new image and redeploy...
|
|
# run: |
|
|
# ssh staging '\
|
|
# echo "${{ secrets.PRODUCTION_REGISTRY_TOKEN }}" | docker login --password-stdin --username ${{ secrets.PRODUCTION_REGISTRY_USERNAME }} gitea.raer.me; \
|
|
# docker stop gdb.lgbtqi.app; \
|
|
# docker rm gdb.lgbtqi.app; \
|
|
# docker pull gitea.raer.me/${{ gitea.repository }}:${{ gitea.ref_name }}; \
|
|
# docker run -d --name gdb.lgbtqi.app -p ${{ secrets.PRODUCTION_DEPLOYMENT_HOST }}:4100:80 gitea.raer.me/${{ gitea.repository }}:${{ gitea.ref_name }}; \
|
|
# docker logout gitea.raer.me;'
|
|
|