51 lines
2.0 KiB
YAML
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 }}
|
|
|
|
|