move to forgejo actions
All checks were successful
/ Deploy blog to deuterium (push) Successful in 1m19s
All checks were successful
/ Deploy blog to deuterium (push) Successful in 1m19s
Signed-off-by: Naman Sood <mail@nsood.in> apparently I need node for setup-go Signed-off-by: Naman Sood <mail@nsood.in> setup-node needs node I'm sobbing Signed-off-by: Naman Sood <mail@nsood.in> go wants version now Signed-off-by: Naman Sood <mail@nsood.in> tailscale action needs sudo Signed-off-by: Naman Sood <mail@nsood.in> add cap net admin for tailscale Signed-off-by: Naman Sood <mail@nsood.in> troubleshoot Signed-off-by: Naman Sood <mail@nsood.in> runner doesn't have pipefail Signed-off-by: Naman Sood <mail@nsood.in> checkout v1 ded Signed-off-by: Naman Sood <mail@nsood.in> don't output the ssh private key I voided the old one but man wtf long live tailscale ssh Signed-off-by: Naman Sood <mail@nsood.in>
This commit is contained in:
parent
038ad7a16d
commit
d9d7ea1888
2 changed files with 58 additions and 51 deletions
58
.forgejo/workflows/main.yml
Normal file
58
.forgejo/workflows/main.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:lts-bullseye
|
||||
options: "--cap-add=NET_ADMIN --device=/dev/net/tun"
|
||||
name: Deploy blog to deuterium
|
||||
env:
|
||||
MACHINE: deuterium
|
||||
steps:
|
||||
- name: Setup Go
|
||||
id: go
|
||||
with:
|
||||
go-version: '>=1.23.0'
|
||||
uses: https://code.forgejo.org/actions/setup-go@v5
|
||||
- name: Install tailscale deps
|
||||
id: deps
|
||||
run: |
|
||||
apt update && apt install -y sudo iptables iproute2
|
||||
- name: Setup Tailscale
|
||||
id: tailscale
|
||||
uses: https://github.com/tailscale/github-action@v2
|
||||
with:
|
||||
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
|
||||
oauth-secret: ${{ secrets.TS_OAUTH_CLIENT_SECRET }}
|
||||
tags: tag:public
|
||||
- name: See what happened to tailscale
|
||||
id: failscale
|
||||
if: failure()
|
||||
run: |
|
||||
cat ~/tailscaled.log
|
||||
|
||||
- name: Fetch code
|
||||
id: fetch
|
||||
uses: https://code.forgejo.org/actions/checkout@v3
|
||||
|
||||
- name: Compile blog binary
|
||||
id: compile
|
||||
run: go build -o prose ./cmd/prose
|
||||
|
||||
- name: Build tarball and ship it
|
||||
id: tarball
|
||||
run: |
|
||||
TIME=$(date +%Y%m%d-%H%M%S)
|
||||
FILENAME=prose-${TIME}.tar.gz
|
||||
mkdir -p static/css
|
||||
tar -czf $FILENAME prose static/ styles/ templates/ posts/
|
||||
echo $FILENAME "www@$MACHINE:/home/www/"
|
||||
mkdir -p ~/.ssh
|
||||
ssh-keyscan $MACHINE >> ~/.ssh/known_hosts
|
||||
scp $FILENAME "www@$MACHINE:/home/www/"
|
||||
ssh "www@$MACHINE" "tar -C /var/www/prose.nsood.in -xzf ~/$FILENAME"
|
||||
ssh "www@$MACHINE" "sudo systemctl restart prose"
|
51
.github/workflows/main.yml
vendored
51
.github/workflows/main.yml
vendored
|
@ -1,51 +0,0 @@
|
|||
on: [push]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy blog to deuterium
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
MACHINE: deuterium
|
||||
steps:
|
||||
- name: Setup Go 1.19
|
||||
id: go
|
||||
uses: actions/setup-go@v2
|
||||
- name: Setup Tailscale
|
||||
id: tailscale
|
||||
uses: tailscale/github-action@v2
|
||||
with:
|
||||
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
|
||||
oauth-secret: ${{ secrets.TS_OAUTH_CLIENT_SECRET }}
|
||||
tags: tag:public
|
||||
- name: Add SSH key
|
||||
id: ssh
|
||||
env:
|
||||
SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
run: |
|
||||
set -euxo pipefail
|
||||
tailscale ping -c 2 $MACHINE
|
||||
mkdir -p ~/.ssh
|
||||
ssh-keyscan $MACHINE > ~/.ssh/known_hosts
|
||||
printf "%s" "$SSH_KEY" > ~/.ssh/key
|
||||
chmod 600 ~/.ssh/key
|
||||
|
||||
- name: Fetch code
|
||||
id: fetch
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Compile blog binary
|
||||
id: compile
|
||||
run: go build -o prose ./cmd/prose
|
||||
|
||||
- name: Build tarball and ship it
|
||||
id: tarball
|
||||
run: |
|
||||
TIME=$(date +%Y%m%d-%H%M%S)
|
||||
FILENAME=prose-${TIME}.tar.gz
|
||||
mkdir -p static/css
|
||||
tar -czf $FILENAME prose static/ styles/ templates/ posts/
|
||||
echo $FILENAME "www@$MACHINE:/home/www/"
|
||||
scp -i ~/.ssh/key $FILENAME "www@$MACHINE:/home/www/"
|
||||
ssh -i ~/.ssh/key "www@$MACHINE" "tar -C /var/www/prose.nsood.in -xzf ~/$FILENAME"
|
||||
ssh -i ~/.ssh/key "www@$MACHINE" "sudo systemctl restart prose"
|
Loading…
Add table
Add a link
Reference in a new issue