From 30f03de903c7e2b4846f3efd1e3f2aba7ef1e1b5 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu, 10 Jun 2021 12:05:05 +0200 Subject: [PATCH] Publish nightly version to Docker Hub too (#2667) * Publish nightly version to Docker Hub too * Get package json version * Follow nightly image in docker-compose * Tag main image as latest * Force to install exact nightly * Force to install exact released version * Don't build image in tests workflow --- .github/workflows/release-nightly.yml | 26 ++++++++++++++++++++++++-- .github/workflows/release.yml | 9 ++++++--- .github/workflows/test.yml | 15 --------------- docker-compose.validator.yml | 3 +-- docker-compose.yml | 3 +-- 5 files changed, 32 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index e2ad30a082c8..c37f47ae6c2a 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -1,7 +1,7 @@ name: Release nightly # only one per github sha can be run -concurrency: +concurrency: group: ${{ github.sha }} cancel-in-progress: true @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-node@v2 with: node-version: "14.16.0" - registry-url: 'https://registry.npmjs.org' + registry-url: "https://registry.npmjs.org" - name: Restore dependencies uses: actions/cache@master id: cache-deps @@ -40,3 +40,25 @@ jobs: run: yarn run publish:nightly env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Get version + id: version + run: echo "::set-output name=version::$(node -p "require('./package.json').version")" + outputs: + version: ${{ steps.version.outputs.version }} + + docker: + name: Publish to Docker Hub + runs-on: ubuntu-latest + needs: publish + steps: + - uses: actions/checkout@v2 + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - run: docker build --tag chainsafe/lodestar:next --build-arg VERSION=${{ needs.publish.outputs.version }} . + - run: docker tag chainsafe/lodestar:next chainsafe/lodestar:${{ needs.publish.outputs.version }} + # Push all tags + - run: docker push chainsafe/lodestar diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ec3421b68da..428f6b6d5be1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -108,8 +108,9 @@ jobs: delete_orphan_tag: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + docker: - name: Build docker image + name: Publish to Docker Hub runs-on: ubuntu-latest needs: tag if: needs.tag.outputs.tag != '' @@ -120,5 +121,7 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - run: docker build --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} . - - run: docker push chainsafe/lodestar:${{ needs.tag.outputs.tag }} + - run: docker build --tag chainsafe/lodestar:latest --build-arg VERSION=${{ needs.tag.outputs.tag }} . + - run: docker tag chainsafe/lodestar:latest chainsafe/lodestar:${{ needs.tag.outputs.tag }} + # Push all tags + - run: docker push chainsafe/lodestar diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6bf848f784d7..79ba84fafbf7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,18 +37,3 @@ jobs: run: yarn coverage - name: E2e tests run: yarn test:e2e - - docker: - name: Build docker image - runs-on: ubuntu-latest - needs: [tests-main] - if: github.event_name == 'push' && github.ref == 'refs/heads/master' - steps: - - uses: actions/checkout@v2 - - name: Login to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - run: docker build --tag chainsafe/lodestar:latest . - - run: docker push chainsafe/lodestar:latest diff --git a/docker-compose.validator.yml b/docker-compose.validator.yml index 18d3076ea442..93849014f208 100644 --- a/docker-compose.validator.yml +++ b/docker-compose.validator.yml @@ -1,8 +1,7 @@ version: "3.4" services: validator: - build: . - image: lodestar + image: chainsafe/lodestar@next restart: always volumes: - validator:/data diff --git a/docker-compose.yml b/docker-compose.yml index 5d12830c6d39..7a345451af4e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,7 @@ version: "3.4" services: beacon_node: - build: . - image: lodestar + image: chainsafe/lodestar@next restart: always volumes: - beacon_node:/data