nyanimedb/.forgejo/workflows/build-and-deploy.yml

45 lines
945 B
YAML

name: Build and Deploy Go App
on:
push:
branches:
- master
jobs:
build:
runs-on: self-hosted
steps:
- 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: |
cd modules/server
docker build -t nyanimedb:latest .
deploy:
runs-on: self-hosted
needs: build
env:
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: nyanimedb
POSTGRES_PORT: 5432
POSTGRES_VERSION: 18
LOG_LEVEL: ${{ vars.LOG_LEVEL }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy containers locally
run: |
cd deploy
docker compose down || true
docker compose up -d