mirror of
https://github.com/Kyren223/eko.git
synced 2026-03-11 02:15:37 +00:00
68 lines
1.6 KiB
YAML
68 lines
1.6 KiB
YAML
name: continious deployment
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
cd:
|
|
name: Deploy
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.23.2"
|
|
|
|
# Runs CI again (doesn't seem to be possible to reuse CI as it's in a diff workflow)
|
|
- name: Format code
|
|
run: test -z $(go fmt ./...)
|
|
|
|
- name: Install staticcheck
|
|
run: go install honnef.co/go/tools/cmd/staticcheck@latest
|
|
|
|
- name: Run static analysis (linting)
|
|
run: staticcheck ./...
|
|
|
|
- name: Run tests
|
|
run: go test --cover ./...
|
|
|
|
- name: Install gosec
|
|
run: go install github.com/securego/gosec/v2/cmd/gosec@latest
|
|
|
|
- name: Run gosec
|
|
run: gosec ./...
|
|
|
|
# Starts deployment
|
|
- name: Install goose
|
|
run: go install github.com/pressly/goose/v3/cmd/goose@latest
|
|
|
|
- name: Convert migrations from timestmaps to indices
|
|
run: goose fix -dir internal/server/api/migrations
|
|
|
|
- name: Build executable
|
|
run: GOOS=linux GOARCH=amd64 go build -o ./eko-server ./cmd/server
|
|
|
|
- name: Deploy to server
|
|
uses: easingthemes/ssh-deploy@main
|
|
with:
|
|
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
ARGS: "-avz"
|
|
SOURCE: "eko-server"
|
|
REMOTE_HOST: eko.kyren.codes
|
|
REMOTE_USER: eko
|
|
TARGET: "/var/lib/eko"
|
|
SCRIPT_BEFORE: |
|
|
whoami
|
|
ls -al
|
|
SCRIPT_AFTER: |
|
|
whoami
|
|
ls -al
|
|
echo $RSYNC_STDOUT
|
|
|