core/.gitea/workflows/deployProd.yml
skeris bfd85ac0bf
All checks were successful
Deploy / CreateImage (push) Successful in 2m45s
Deploy / ValidateConfig (push) Successful in 24s
Deploy / MigrateDatabase (push) Successful in 34s
Deploy / DeployService (push) Successful in 23s
fix prod config
2025-08-12 22:02:30 +03:00

51 lines
2.0 KiB
YAML

name: Deploy
run-name: ${{ gitea.actor }} build image and push to container registry
on:
push:
branches:
- 'main'
jobs:
CreateImage:
runs-on: [squizstaging]
uses: https://gitea.pena/PenaDevops/actions.git/.gitea/workflows/build-image.yml@v1.1.6-p
with:
runner: hubstaging
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
ValidateConfig:
runs-on: [squizprod]
uses: https://gitea.pena/PenaDevops/actions.git/.gitea/workflows/validate_config.yml@v1.2.1
needs: CreateImage
with:
runner: squizprod
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
MigrateDatabase:
runs-on: [squizprod]
needs: ValidateConfig
container:
image: gitea.pena/penadevops/container-images/node-golint:main
steps:
- name: Check out repository code
uses: https://gitea.pena/PenaDevops/actions.git/checkout@v1
- name: download packs
run: |
go mod download
cp -R $(go list -f '{{.Dir}}' -m gitea.pena/SQuiz/common)/dal .
go list -f '{{.Dir}}' -m gitea.pena/SQuiz/common | sed 's|^/workspace/SQuiz/worker||'
grep -E '^POSTGRES_URL=' "./deployments/${{ github.ref_name }}/config.env" | cut -d '=' -f2- | sed -E 's~host=([^ ]+) port=([^ ]+) user=([^ ]+) password=([^ ]+) dbname=([^ ]+) sslmode=([^ ]+)~postgresql://\3:\4@\1:\2/\5?sslmode=\6~' | sed 's~\"~~g'
./tools/migrate -verbose -source "file://dal/schema/" -database "$(grep -E '^POSTGRES_URL=' "./deployments/${{ github.ref_name }}/config.env" | cut -d '=' -f2- | sed -E 's~host=([^ ]+) port=([^ ]+) user=([^ ]+) password=([^ ]+) dbname=([^ ]+) sslmode=([^ ]+)~postgresql://\3:\4@\1:\2/\5?sslmode=\6~' | sed 's~\"~~g')" up
DeployService:
runs-on: [squizprod]
needs: MigrateDatabase
uses: https://gitea.pena/PenaDevops/actions.git/.gitea/workflows/deploy.yml@v1.1.4-p7
with:
runner: squizrod
actionid: ${{ gitea.run_id }}