w5isp.com/.forgejo/workflows/deploy.yml
Graham McIntire c1f07190f3
Scheduled post publishing + transistor amplifier post
Filter future-dated posts out of blog/homepage listings and add a
daily 05:05 UTC rebuild so posts go live on their date automatically.

New interactive post on BJT amplification with five canvas scenes
(valve, load line, transfer curve, amplifier in action, gain).
Shared scene.css for future interactive posts. Post is dated
2026-04-23 and will appear in listings once the date arrives.

Also drop IDEAS.md with candidate topics for future posts.
2026-04-22 10:58:27 -05:00

39 lines
1.1 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
# Daily rebuild so posts dated in the future are picked up on their publish day.
schedule:
- cron: "5 5 * * *"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Install Zola
run: |
ZOLA_VERSION="0.22.1"
wget -q "https://github.com/getzola/zola/releases/download/v${ZOLA_VERSION}/zola-v${ZOLA_VERSION}-x86_64-unknown-linux-gnu.tar.gz" -O /tmp/zola.tar.gz
tar -xzf /tmp/zola.tar.gz -C /usr/local/bin
zola --version
- name: Build
run: zola build
- name: Install rsync
run: apt-get update && apt-get install -y rsync
- name: Deploy via rsync
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H skippy.w5isp.com >> ~/.ssh/known_hosts
rsync -avz --delete public/ graham@skippy.w5isp.com:/home/graham/apps/w5isp.com/