From 45f78e8b77609eb3a5182401070da4273831ea92 Mon Sep 17 00:00:00 2001 From: Sergejs Kostjucenko Date: Thu, 18 Jan 2024 12:35:56 +0200 Subject: [PATCH 1/3] add GHA to build/publish Docker image --- .../workflows/build-publish-docker-image.yml | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/build-publish-docker-image.yml diff --git a/.github/workflows/build-publish-docker-image.yml b/.github/workflows/build-publish-docker-image.yml new file mode 100644 index 00000000..215239a7 --- /dev/null +++ b/.github/workflows/build-publish-docker-image.yml @@ -0,0 +1,87 @@ +name: Build/publish Docker image + +on: + push: + branches: + - master + pull_request: + branches: + - master + +env: + IMAGE_NAME: "paritytech/smart-bench" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build-docker-image: + name: Test Docker image build + if: ${{ github.event_name == 'pull_request' }} + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download binaries + run: | + cd launch + bash ./download-bins.sh + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker image + uses: docker/build-push-action@v5 + with: + push: false + context: . + file: ./launch/smart_bench.Dockerfile + build-args: | + VCS_REF="${{ github.sha }}" + BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" + tags: | + ${{ env.IMAGE_NAME }}:test + + build-publish-docker-image: + name: Build and publish Docker image + if: ${{ github.ref == 'refs/heads/master' }} + runs-on: ubuntu-latest + environment: master + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Prepare Docker environment + run: | + echo IMAGE_TAG="master-${GITHUB_SHA::7}" >> $GITHUB_ENV + echo "Docker image will be published with the tag: ${{ env.IMAGE_TAG }}!" + + - name: Download binaries + run: | + cd launch + bash ./download-bins.sh + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + push: true + context: . + file: ./launch/smart_bench.Dockerfile + build-args: | + VCS_REF="${{ github.sha }}" + BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" + tags: | + ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} + ${{ env.IMAGE_NAME }}:latest From b05d39d65e22dcf301b1e56ee0ba8a8badff3c71 Mon Sep 17 00:00:00 2001 From: Sergejs Kostjucenko Date: Fri, 19 Jan 2024 11:20:39 +0200 Subject: [PATCH 2/3] add paths-ignore --- .github/workflows/build-publish-docker-image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-publish-docker-image.yml b/.github/workflows/build-publish-docker-image.yml index 215239a7..f53e3b95 100644 --- a/.github/workflows/build-publish-docker-image.yml +++ b/.github/workflows/build-publish-docker-image.yml @@ -4,9 +4,13 @@ on: push: branches: - master + paths-ignore: + - 'results/**' pull_request: branches: - master + paths-ignore: + - 'results/**' env: IMAGE_NAME: "paritytech/smart-bench" From 9b8443df71289f44a7a205b8eb1967b157615ca6 Mon Sep 17 00:00:00 2001 From: Sergejs Kostjucenko Date: Sun, 21 Jan 2024 23:57:14 +0200 Subject: [PATCH 3/3] add more paths-ignore --- .github/workflows/build-publish-docker-image.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build-publish-docker-image.yml b/.github/workflows/build-publish-docker-image.yml index f53e3b95..5d55778c 100644 --- a/.github/workflows/build-publish-docker-image.yml +++ b/.github/workflows/build-publish-docker-image.yml @@ -5,11 +5,19 @@ on: branches: - master paths-ignore: + - '**/.gitingore' + - 'CODEOWNERS' + - 'LICENSE' + - '**/*.md' - 'results/**' pull_request: branches: - master paths-ignore: + - '.gitingore' + - 'CODEOWNERS' + - 'LICENSE' + - '**/*.md' - 'results/**' env: