ci: add db migration and config validation to pipeline
Some checks failed
Deploy / CreateImage (push) Successful in 2m45s
Deploy / ValidateConfig (push) Successful in 28s
Deploy / MigrateDatabase (push) Failing after 50s
Deploy / DeployService (push) Has been skipped

This commit is contained in:
skeris 2025-06-03 23:57:07 +03:00
parent 525d54645c
commit 91424ff8a7
7 changed files with 57 additions and 24 deletions

@ -15,9 +15,28 @@ jobs:
secrets: secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
ValidateConfig:
runs-on: [squizstaging]
uses: https://gitea.pena/PenaDevops/actions.git/.gitea/workflows/validate_config.yml@v1.2.1
needs: CreateImage
with:
runner: hubstaging
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
MigrateDatabase:
runs-on: [squizstaging]
uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/migrate.yml@9263e22095fa40bcb36881ad81722d3049acd07f
needs: ValidateConfig
with:
runner: hubstaging
branch_name: ${{ github.ref_name }}
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
DeployService: DeployService:
runs-on: [squizstaging] runs-on: [squizstaging]
needs: CreateImage needs: MigrateDatabase
uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/deploy.yml@v1.1.4-p7 uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/deploy.yml@v1.1.4-p7
with: with:
runner: squizstaging runner: squizstaging

@ -3,7 +3,9 @@ WORKDIR /app
COPY . . COPY . .
RUN go mod download RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o wrkr ./cmd/main.go RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o wrkr ./cmd/main.go
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o validator ./cmd/validator/main.go
FROM gitea.pena/penadevops/container-images/alpine:main as prod FROM gitea.pena/penadevops/container-images/alpine:main as prod
COPY --from=build /app/validator .
COPY --from=build /app/wrkr . COPY --from=build /app/wrkr .
CMD ["/wrkr"] CMD ["/wrkr"]

@ -0,0 +1,22 @@
IS_PROD_LOG="false"
IS_PROD='false'
POSTGRES_URL='host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
KAFKA_BROKERS= '10.7.0.6:9092'
KAFKA_TOPIC= 'tariffs'
QUIZ_ID=quizCnt
AMOUNT=10
UNLIM_ID=quizUnlimTime
REDIS_HOST='10.7.0.10:6379'
REDIS_PASSWORD='Redalert2'
REDIS_DB=2
MAIL_SENDER='noreply@mailing.pena.digital'
MAIL_API_KEY='P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev'
CUSTOMER_MICROSERVICE_RPC_URL='10.7.0.6:9060'
S3_ENDPOINT=s3.timeweb.cloud
S3_ACCESS_KEY=5CV77KVDUU9H0II9R24M
S3_SECRET_KEY=0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu
KAFKA_TOPIC_GIGA_CHAT=gigachat
KAFKA_GROUP_GIGA_CHAT=""
GIGA_CHAT_API_AUTH_KEY=Y2MzZWUxZDMtZGE5MC00ZTFjLWI5YzItM2ViMTZmMDM0YTkwOmY1NTlkOGM3LWUyNmQtNGUwMC1hODE0LTJlYjQ5NDA5ODdjMQ==
GIGA_CHAT_API_BASE_URL="https://gigachat.devices.sberbank.ru/api/v1"
TELEGRAM_TOKEN=6112841016:AAH2nO1c6mqfMewBvHwdXCDp5PCclOuc99

@ -4,25 +4,7 @@ services:
container_name: squiz-workerv1.0.0 container_name: squiz-workerv1.0.0
image: gitea.pena/squiz/worker/staging:$GITHUB_RUN_NUMBER image: gitea.pena/squiz/worker/staging:$GITHUB_RUN_NUMBER
tty: true tty: true
environment: env_file: config.env
IS_PROD_LOG: 'false' ports:
IS_PROD: 'false' - 10.7.0.10:2347:2345
POSTGRES_URL: 'host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable' command: dlv --listen=:2345 --continue --headless=true --log=true --log-output=debugger,debuglineerr,gdbwire,lldbout,rpc --accept-multiclient --api-version=2 exec /wrkr
KAFKA_BROKERS: '10.7.0.6:9092'
KAFKA_TOPIC: 'tariffs'
QUIZ_ID: quizCnt
AMOUNT: 10
UNLIM_ID: quizUnlimTime
REDIS_HOST: '10.7.0.10:6379'
REDIS_PASSWORD: 'Redalert2'
REDIS_DB: 2
MAIL_SENDER: 'noreply@mailing.pena.digital'
MAIL_API_KEY: 'P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev'
CUSTOMER_MICROSERVICE_RPC_URL: '10.7.0.6:9060'
S3_ENDPOINT: s3.timeweb.cloud
S3_ACCESS_KEY: 5CV77KVDUU9H0II9R24M
S3_SECRET_KEY: 0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu
KAFKA_TOPIC_GIGA_CHAT: gigachat
KAFKA_GROUP_GIGA_CHAT: ""
GIGA_CHAT_API_AUTH_KEY: Y2MzZWUxZDMtZGE5MC00ZTFjLWI5YzItM2ViMTZmMDM0YTkwOmY1NTlkOGM3LWUyNmQtNGUwMC1hODE0LTJlYjQ5NDA5ODdjMQ==
GIGA_CHAT_API_BASE_URL: "https://gigachat.devices.sberbank.ru/api/v1"

@ -0,0 +1,6 @@
services:
validator:
tty: true
command: ./validator
image: gitea.pena/squiz/worker/staging:$GITHUB_RUN_NUMBER
env_file: config.env

2
go.mod

@ -5,7 +5,7 @@ go 1.23.2
toolchain go1.23.4 toolchain go1.23.4
require ( require (
gitea.pena/PenaSide/common v0.0.0-20250103085335-91ea31fee517 gitea.pena/PenaSide/common v0.0.0-20250421103113-7e4b3ae9e1e0
gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043 gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043
gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9 gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9
gitea.pena/SQuiz/common v0.0.0-20250514124515-870e52266ca5 gitea.pena/SQuiz/common v0.0.0-20250514124515-870e52266ca5

2
go.sum

@ -1,5 +1,7 @@
gitea.pena/PenaSide/common v0.0.0-20250103085335-91ea31fee517 h1:EgBe8VcdPwmxbSzYLndncP+NmR73uYuXxkTeDlEttEE= gitea.pena/PenaSide/common v0.0.0-20250103085335-91ea31fee517 h1:EgBe8VcdPwmxbSzYLndncP+NmR73uYuXxkTeDlEttEE=
gitea.pena/PenaSide/common v0.0.0-20250103085335-91ea31fee517/go.mod h1:91EuBCgcqgJ6mG36n2pds8sPwwfaJytLWOzY3h2YFKU= gitea.pena/PenaSide/common v0.0.0-20250103085335-91ea31fee517/go.mod h1:91EuBCgcqgJ6mG36n2pds8sPwwfaJytLWOzY3h2YFKU=
gitea.pena/PenaSide/common v0.0.0-20250421103113-7e4b3ae9e1e0 h1:+gvpAPo1+1WtCpA+QaCWNy4R9/cIERBBzrVSYrx7hNo=
gitea.pena/PenaSide/common v0.0.0-20250421103113-7e4b3ae9e1e0/go.mod h1:91EuBCgcqgJ6mG36n2pds8sPwwfaJytLWOzY3h2YFKU=
gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043 h1:a/89TC0bRdWRjS875EIE1c1ZPgmRcDaKMcQoUv+sg+I= gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043 h1:a/89TC0bRdWRjS875EIE1c1ZPgmRcDaKMcQoUv+sg+I=
gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043/go.mod h1:DDg6CQDhU+aSSTv8R/LbkNGegdCx+Q++DcgPfE2LbZU= gitea.pena/PenaSide/customer v0.0.0-20250407185330-82e95e8da043/go.mod h1:DDg6CQDhU+aSSTv8R/LbkNGegdCx+Q++DcgPfE2LbZU=
gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9 h1:tBkXWNIt8icmkMMnq8MA421RWkUy4OZh5P7C3q8uCu4= gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9 h1:tBkXWNIt8icmkMMnq8MA421RWkUy4OZh5P7C3q8uCu4=