mirror of
https://github.com/jbowdre/capsule.git
synced 2024-11-25 22:32:19 +00:00
52 lines
1.3 KiB
YAML
52 lines
1.3 KiB
YAML
name: Deploy Gemini Capsule
|
|
|
|
# only run on changes to main
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- 'gemlog/**'
|
|
- 'static/**'
|
|
- 'templates/**'
|
|
- 'gempost.yaml'
|
|
|
|
concurrency: # prevent concurrent deploys doing strange things
|
|
group: deploy-gemini-capsule
|
|
cancel-in-progress: true
|
|
|
|
# Default to bash
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
deploy:
|
|
name: Deploy Gemini Capsule
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install gempost
|
|
uses: baptiste0928/cargo-install@v3.0.0
|
|
with:
|
|
crate: gempost
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Gempost build
|
|
run: gempost build
|
|
- name: Generate web feed
|
|
run: ./generate-web-feed.sh
|
|
- name: Connect to Tailscale
|
|
uses: tailscale/github-action@v2
|
|
with:
|
|
oauth-client-id: ${{ secrets.TS_API_CLIENT_ID }}
|
|
oauth-secret: ${{ secrets.TS_API_CLIENT_SECRET }}
|
|
tags: ${{ secrets.TS_TAG }}
|
|
- name: Configure SSH known hosts
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
|
chmod 644 ~/.ssh/known_hosts
|
|
- name: Deploy GMI to Agate
|
|
run: |
|
|
rsync -avz --delete -e ssh public/ deploy@${{ secrets.GMI_HOST }}:${{ secrets.GMI_CONTENT_PATH }}
|