aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/docker_publish.yml24
1 files changed, 22 insertions, 2 deletions
diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml
index f10062ede6..5b6a80b8a2 100644
--- a/.github/workflows/docker_publish.yml
+++ b/.github/workflows/docker_publish.yml
@@ -75,10 +75,9 @@ jobs:
type=schedule,pattern=nightly
type=raw,value=${{ inputs.image_tag || 'trunk' }}
- - name: Build and push docker image
+ - name: Build docker image
uses: docker/build-push-action@v4
with:
- push: true
context: .
file: main/.github/docker/Dockerfile
tags: ${{ steps.meta.outputs.tags }}
@@ -87,3 +86,24 @@ jobs:
provenance: false
cache-from: type=s3,name=local_ydb,region=ru-central1,bucket=${{ vars.AWS_BUCKET }},endpoint_url=${{ vars.AWS_ENDPOINT }},access_key_id=${{ secrets.AWS_KEY_ID }},secret_access_key=${{ secrets.AWS_KEY_VALUE }}
cache-to: type=s3,name=local_ydb,region=ru-central1,bucket=${{ vars.AWS_BUCKET }},endpoint_url=${{ vars.AWS_ENDPOINT }},access_key_id=${{ secrets.AWS_KEY_ID }},secret_access_key=${{ secrets.AWS_KEY_VALUE }},mode=max
+
+ - name: Test docker image
+ continue-on-error: false
+ run: |
+ docker run -d --name local-ydb-test ghcr.io/${{ github.repository_owner }}/local-ydb:nightly
+ sleep 61 # Wait for the health check to run (--start-period=60s --interval=1s)
+ if [ "$(docker inspect --format='{{json .State.Health.Status}}' local-ydb-test)" != "\"healthy\"" ]; then
+ echo "Container is not healthy"
+ docker logs local-ydb-test
+ exit 1
+ fi
+ docker stop local-ydb-test
+ docker rm local-ydb-test
+
+ - name: Push docker image
+ uses: docker/build-push-action@v4
+ with:
+ context: .
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ cache-to: type=s3,name=local_ydb,region=ru-central1,bucket=${{ vars.AWS_BUCKET }},endpoint_url=${{ vars.AWS_ENDPOINT }},access_key_id=${{ secrets.AWS_KEY_ID }},secret_access_key=${{ secrets.AWS_KEY_VALUE }},mode=max