nyanimedb/.forgejo/workflows/build-and-deploy.yml
nihonium 9ae94d158b
Some checks failed
Build and Deploy Go App / build (push) Has been cancelled
Build and Deploy Go App / deploy (push) Has been cancelled
fix: migrate deploy to host
2025-10-08 01:39:14 +03:00

63 lines
1.4 KiB
YAML

name: Build and Deploy Go App
on:
push:
branches:
- master
pull_request:
jobs:
build:
runs-on: host
container:
image: golang:1.25.0
steps:
- name: Install Node
run: |
apt update
apt-get install -y nodejs
node -v
- name: Checkout code
uses: actions/checkout@v4
- name: Build Go app
run: |
cd modules/server
go mod tidy
go build -o nyanimedb .
- name: Build Docker image
run: docker build -t nyanimedb:latest .
- name: Save Docker image artifact
run: docker save nyanimedb:latest -o nyanimedb.tar
- name: Upload image artifact
uses: actions/upload-artifact@v4
with:
name: docker-image
path: nyanimedb.tar
deploy:
runs-on: host
needs: build
if: ${{ github.event.inputs.deploy == 'true' }} # manual deploy trigger
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download image
uses: actions/download-artifact@v4
with:
name: docker-image
path: .
- name: Load Docker image
run: docker load -i nyanimedb.tar
- name: Deploy container locally
run: |
echo "Deploying nyanimedb locally..."
docker stop nyanimedb || true
docker rm nyanimedb || true
docker run -d --name nyanimedb -p 8080:8080 nyanimedb:latest