Switch deployment to Cloudflare Workers

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-11-17 08:07:30 +05:30
parent a3daeef148
commit 8f22ec4e38
5 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,63 @@
name: Deploy to Cloudflare Workers Sites
on:
push:
branches:
- src
jobs:
deploy-main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c952173edf28a2bd22e1a4926590c1ac39630461
- name: Setup Latest Version of Hugo
uses: peaceiris/actions-hugo@2e89aa66d0093e4cd14751b3028fc1a179452c2e
with:
hugo-version: 'latest'
extended: true
- name: Build Hugo Site
run: |
hugo --minify --gc
- name: Publish to Cloudflare Workers Sites
run: |
echo "prefix = \"${HOME}\"" > ~/.npmrc
npm install -g @cloudflare/wrangler
mkdir -p ~/.wrangler/config/
echo "api_token=\"${CF_API_TOKEN}\"" > ~/.wrangler/config/default.toml
./scripts/decrypt-secret.sh config/wrangler-main.toml.enc wrangler.toml ${SECRETS_ENC_KEY}
~/bin/wrangler publish
env:
SECRETS_ENC_KEY: ${{ secrets.SECRETS_ENC_KEY }}
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
deploy-staging:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c952173edf28a2bd22e1a4926590c1ac39630461
- name: Setup Latest Version of Hugo
uses: peaceiris/actions-hugo@2e89aa66d0093e4cd14751b3028fc1a179452c2e
with:
hugo-version: 'latest'
extended: true
- name: Build Hugo Site
run: |
hugo --minify --gc -D
- name: Publish to Cloudflare Workers Sites
run: |
echo "prefix = \"${HOME}\"" > ~/.npmrc
npm install -g @cloudflare/wrangler
mkdir -p ~/.wrangler/config/
echo "api_token=\"${CF_API_TOKEN}\"" > ~/.wrangler/config/default.toml
./scripts/decrypt-secret.sh config/wrangler-staging.toml.enc wrangler.toml ${SECRETS_ENC_KEY}
~/bin/wrangler publish
env:
SECRETS_ENC_KEY: ${{ secrets.SECRETS_ENC_KEY }}
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}

4
.gitignore vendored
View File

@ -1,2 +1,6 @@
public/
resources/
dist/
msfjarvis-dev/
msfjarvis-dev-staging/
wrangler.toml

Binary file not shown.

View File

@ -0,0 +1,4 @@
Salted__ Є <D084><C2A0>Ћ4БДt ќgg$
АцЊ<1B>ѓ<EFBFBD>жЬЅ0GЉЋм<D08B>Д<>В*-SВЈлз<D0BB><D0B7><08>ёL<D191>ЭПИ"лЋі
<EFBFBD>~Pеy_izиYgF<67><46>><3E>{мЫїOЩЇ(M|нФ'Ктд<<3C>pјУ<37>dс{в­(в<>єНщЄ`jZgЉBL<42><4C>R А<>юЌNАќё игЌв<D08C><D0B2>nwЊ
Њё[3кДHj!ѕНL7к<15>*<0F>3+kZ<6B>5g 1mМ\<5C>т1цgлЉЉЯгqЕ<71><D095>иёБХг $ 'Ў@В9|З=дc<D0B4>Ј<EFBFBD>IsF Vљ2<D199>}^<5E>6лL^ЬђјЄгUtхxіWyг;<1E>ЈЬ<D088>Ыr8Дч:By<ь,J0_i

13
scripts/decrypt-secret.sh Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -euo pipefail
INPUT_FILE=$1
OUTPUT_FILE=$2
ENCRYPT_KEY=$3
if [[ -n "$ENCRYPT_KEY" && -n "$INPUT_FILE" && -n "$OUTPUT_FILE" ]]; then
openssl enc -aes-256-cbc -md sha256 -pbkdf2 -d -in "${INPUT_FILE}" -out "${OUTPUT_FILE}" -k "${ENCRYPT_KEY}"
else
echo "Usage: ./decrypt-secret.sh <input file> <output file> <encryption key>"
fi