From d9d7ea1888cf83bee001f15933cad80b151f3dd3 Mon Sep 17 00:00:00 2001 From: Naman Sood Date: Thu, 21 Nov 2024 17:43:04 -0500 Subject: [PATCH] move to forgejo actions Signed-off-by: Naman Sood apparently I need node for setup-go Signed-off-by: Naman Sood setup-node needs node I'm sobbing Signed-off-by: Naman Sood go wants version now Signed-off-by: Naman Sood tailscale action needs sudo Signed-off-by: Naman Sood add cap net admin for tailscale Signed-off-by: Naman Sood troubleshoot Signed-off-by: Naman Sood runner doesn't have pipefail Signed-off-by: Naman Sood checkout v1 ded Signed-off-by: Naman Sood don't output the ssh private key I voided the old one but man wtf long live tailscale ssh Signed-off-by: Naman Sood --- .forgejo/workflows/main.yml | 58 +++++++++++++++++++++++++++++++++++++ .github/workflows/main.yml | 51 -------------------------------- 2 files changed, 58 insertions(+), 51 deletions(-) create mode 100644 .forgejo/workflows/main.yml delete mode 100644 .github/workflows/main.yml diff --git a/.forgejo/workflows/main.yml b/.forgejo/workflows/main.yml new file mode 100644 index 0000000..691bd28 --- /dev/null +++ b/.forgejo/workflows/main.yml @@ -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" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 3b4beda..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -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"