Update binary name, DB path, session cookie, deploy scripts, systemd service, Docker config, CI workflow, and .dockerignore. Remove stale Claude command and settings files.
63 lines
1.3 KiB
YAML
63 lines
1.3 KiB
YAML
name: CI / Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
env:
|
|
DEPLOY_DIR: /home/ryan/games
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.25"
|
|
|
|
- name: Generate templ
|
|
run: go tool templ generate
|
|
|
|
- name: Run tests
|
|
run: go test ./...
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.25"
|
|
|
|
- name: Generate templ
|
|
run: go tool templ generate
|
|
|
|
- name: Install golangci-lint
|
|
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
|
|
|
|
- name: Run linter
|
|
run: golangci-lint run
|
|
|
|
deploy:
|
|
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
needs: [test, lint]
|
|
runs-on: games
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Sync to deploy directory
|
|
run: |
|
|
mkdir -p $DEPLOY_DIR
|
|
rsync -a --delete --exclude 'data/' . $DEPLOY_DIR/
|
|
|
|
- name: Ensure data directory exists with correct ownership
|
|
run: |
|
|
mkdir -p $DEPLOY_DIR/data
|
|
|
|
- name: Rebuild and restart
|
|
run: cd $DEPLOY_DIR && docker compose up -d --build --remove-orphans
|