Skip to content

Commit e1eff20

Browse files
authored
vibe-code build.yml
1 parent 9d6e0da commit e1eff20

1 file changed

Lines changed: 74 additions & 56 deletions

File tree

.github/workflows/build.yml

Lines changed: 74 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -58,41 +58,50 @@ jobs:
5858
steps:
5959
- name: Pull new version
6060
run: docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test
61+
62+
- name: Create env file for migration
63+
run: |
64+
cat > migration.env << EOF
65+
DB_DSN=${{ secrets.DB_DSN }}
66+
BOT_TOKEN=${{ secrets.BOT_TOKEN }}
67+
BASE_URL=${{ vars.BASE_URL }}
68+
WEBHOOK_PATH=${{ vars.WEBHOOK_PATH }}
69+
QDRANT_API_KEY=${{ secrets.QDRANT_API_KEY }}
70+
PRIVATE_KEY=${{ secrets.PRIVATE_KEY }}
71+
SERVICE_ACCOUNT_ID=${{ secrets.SERVICE_ACCOUNT_ID }}
72+
KEY_ID=${{ secrets.KEY_ID }}
73+
HOST=${{ vars.HOST }}
74+
PORT=${{ vars.PORT }}
75+
EOF
76+
6177
- name: Migrate DB
6278
run: |
63-
docker run \
64-
--rm \
65-
--network=web \
66-
--env DB_DSN='${{ secrets.DB_DSN }}' \
67-
--env BOT_TOKEN='${{ secrets.BOT_TOKEN }}' \
68-
--env BASE_URL='${{ vars.BASE_URL }}' \
69-
--env WEBHOOK_PATH='${{ vars.WEBHOOK_PATH }}' \
70-
--env QDRANT_API_KEY='${{ secrets.QDRANT_API_KEY }}' \
71-
--env PRIVATE_KEY='${{ secrets.PRIVATE_KEY }}' \
72-
--env SERVICE_ACCOUNT_ID='${{ secrets.SERVICE_ACCOUNT_ID }}' \
73-
--env KEY_ID='${{ secrets.KEY_ID }}' \
74-
--env HOST='${{ vars.HOST }}' \
75-
--env PORT='${{ vars.PORT }}' \
79+
docker run --rm --network=web --env-file migration.env \
7680
--name ${{ env.CONTAINER_NAME }}_migration \
7781
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test \
7882
alembic upgrade head
83+
84+
- name: Create env file for container
85+
run: |
86+
cat > container.env << EOF
87+
DB_DSN=${{ secrets.DB_DSN }}
88+
BOT_TOKEN=${{ secrets.BOT_TOKEN }}
89+
BASE_URL=${{ vars.BASE_URL }}
90+
WEBHOOK_PATH=${{ vars.WEBHOOK_PATH }}
91+
QDRANT_API_KEY=${{ secrets.QDRANT_API_KEY }}
92+
PRIVATE_KEY=${{ secrets.PRIVATE_KEY }}
93+
SERVICE_ACCOUNT_ID=${{ secrets.SERVICE_ACCOUNT_ID }}
94+
KEY_ID=${{ secrets.KEY_ID }}
95+
HOST=${{ vars.HOST }}
96+
PORT=${{ vars.PORT }}
97+
EOF
98+
7999
- name: Run new version
80100
run: |
81-
docker stop ${{ env.CONTAINER_NAME }} || true && docker rm ${{ env.CONTAINER_NAME }} || true
82-
docker run \
83-
--detach \
84-
--network=web \
85-
--restart on-failure:3 \
86-
--env DB_DSN='${{ secrets.DB_DSN }}' \
87-
--env BOT_TOKEN='${{ secrets.BOT_TOKEN }}' \
88-
--env BASE_URL='${{ vars.BASE_URL }}' \
89-
--env WEBHOOK_PATH='${{ vars.WEBHOOK_PATH }}' \
90-
--env QDRANT_API_KEY='${{ secrets.QDRANT_API_KEY }}' \
91-
--env PRIVATE_KEY='${{ secrets.PRIVATE_KEY }}' \
92-
--env SERVICE_ACCOUNT_ID='${{ secrets.SERVICE_ACCOUNT_ID }}' \
93-
--env KEY_ID='${{ secrets.KEY_ID }}' \
94-
--env HOST='${{ vars.HOST }}' \
95-
--env PORT='${{ vars.PORT }}' \
101+
docker stop ${{ env.CONTAINER_NAME }} || true
102+
docker rm ${{ env.CONTAINER_NAME }} || true
103+
docker run --detach --network=web --restart on-failure:3 \
104+
--env-file container.env \
96105
--name ${{ env.CONTAINER_NAME }} \
97106
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test
98107
@@ -110,40 +119,49 @@ jobs:
110119
steps:
111120
- name: Pull new version
112121
run: docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
122+
123+
- name: Create env file for migration
124+
run: |
125+
cat > migration.env << EOF
126+
DB_DSN=${{ secrets.DB_DSN }}
127+
BOT_TOKEN=${{ secrets.BOT_TOKEN }}
128+
BASE_URL=${{ vars.BASE_URL }}
129+
WEBHOOK_PATH=${{ vars.WEBHOOK_PATH }}
130+
QDRANT_API_KEY=${{ secrets.QDRANT_API_KEY }}
131+
PRIVATE_KEY=${{ secrets.PRIVATE_KEY }}
132+
SERVICE_ACCOUNT_ID=${{ secrets.SERVICE_ACCOUNT_ID }}
133+
KEY_ID=${{ secrets.KEY_ID }}
134+
HOST=${{ vars.HOST }}
135+
PORT=${{ vars.PORT }}
136+
EOF
137+
113138
- name: Migrate DB
114139
run: |
115-
docker run \
116-
--rm \
117-
--network=web \
118-
--env DB_DSN='${{ secrets.DB_DSN }}' \
119-
--env BOT_TOKEN='${{ secrets.BOT_TOKEN }}' \
120-
--env BASE_URL='${{ vars.BASE_URL }}' \
121-
--env WEBHOOK_PATH='${{ vars.WEBHOOK_PATH }}' \
122-
--env QDRANT_API_KEY='${{ secrets.QDRANT_API_KEY }}' \
123-
--env PRIVATE_KEY='${{ secrets.PRIVATE_KEY }}' \
124-
--env SERVICE_ACCOUNT_ID='${{ secrets.SERVICE_ACCOUNT_ID }}' \
125-
--env KEY_ID='${{ secrets.KEY_ID }}' \
126-
--env HOST='${{ vars.HOST }}' \
127-
--env PORT='${{ vars.PORT }}' \
140+
docker run --rm --network=web --env-file migration.env \
128141
--name ${{ env.CONTAINER_NAME }}_migration \
129142
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
130143
alembic upgrade head
144+
145+
- name: Create env file for container
146+
run: |
147+
cat > container.env << EOF
148+
DB_DSN=${{ secrets.DB_DSN }}
149+
BOT_TOKEN=${{ secrets.BOT_TOKEN }}
150+
BASE_URL=${{ vars.BASE_URL }}
151+
WEBHOOK_PATH=${{ vars.WEBHOOK_PATH }}
152+
QDRANT_API_KEY=${{ secrets.QDRANT_API_KEY }}
153+
PRIVATE_KEY=${{ secrets.PRIVATE_KEY }}
154+
SERVICE_ACCOUNT_ID=${{ secrets.SERVICE_ACCOUNT_ID }}
155+
KEY_ID=${{ secrets.KEY_ID }}
156+
HOST=${{ vars.HOST }}
157+
PORT=${{ vars.PORT }}
158+
EOF
159+
131160
- name: Run new version
132161
run: |
133-
docker stop ${{ env.CONTAINER_NAME }} || true && docker rm ${{ env.CONTAINER_NAME }} || true
134-
docker run \
135-
--detach \
136-
--network=web \
137-
--restart always \
138-
--env DB_DSN='${{ secrets.DB_DSN }}' \
139-
--env BOT_TOKEN='${{ secrets.BOT_TOKEN }}' \
140-
--env BASE_URL='${{ vars.BASE_URL }}' \
141-
--env WEBHOOK_PATH='${{ vars.WEBHOOK_PATH }}' \
142-
--env QDRANT_API_KEY='${{ secrets.QDRANT_API_KEY }}' \
143-
--env PRIVATE_KEY='${{ secrets.PRIVATE_KEY }}' \
144-
--env SERVICE_ACCOUNT_ID='${{ secrets.SERVICE_ACCOUNT_ID }}' \
145-
--env KEY_ID='${{ secrets.KEY_ID }}' \
146-
--env HOST='${{ vars.HOST }}' \
147-
--env PORT='${{ vars.PORT }}' \
162+
docker stop ${{ env.CONTAINER_NAME }} || true
163+
docker rm ${{ env.CONTAINER_NAME }} || true
164+
docker run --detach --network=web --restart always \
165+
--env-file container.env \
148166
--name ${{ env.CONTAINER_NAME }} \
149167
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest

0 commit comments

Comments
 (0)