44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
name: Deploy Foundry Core
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'cmd/**'
|
|
- 'internal/**'
|
|
- 'go.mod'
|
|
- 'go.sum'
|
|
- 'deploy/**'
|
|
- 'db/**'
|
|
- '.gitea/workflows/deploy.yml'
|
|
|
|
concurrency:
|
|
group: foundry-core-main-deploy
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
deploy:
|
|
if: gitea.ref == 'refs/heads/main' && gitea.event_name == 'push'
|
|
runs-on: ces-control
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: false
|
|
- name: Verify and build
|
|
run: |
|
|
set -eu
|
|
test -z "$(gofmt -l cmd internal)"
|
|
go test -mod=readonly ./...
|
|
CGO_ENABLED=0 go build -mod=readonly -o bin/foundry ./cmd/foundry
|
|
- name: Deploy and verify backend readiness
|
|
env:
|
|
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
|
|
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
|
|
SLACK_CLIENT_ID: ${{ secrets.SLACK_CLIENT_ID }}
|
|
SLACK_CLIENT_SECRET: ${{ secrets.SLACK_CLIENT_SECRET }}
|
|
FOUNDRY_PROJECTS: ${{ vars.FOUNDRY_PROJECTS }}
|
|
FOUNDRY_ONBOARDING: ${{ vars.FOUNDRY_ONBOARDING }}
|
|
run: bash deploy/release.sh bin/foundry
|