From 188558412d74c122f9cbc6f76ff575d12f9a396d Mon Sep 17 00:00:00 2001 From: urvisavla Date: Tue, 2 Jul 2024 11:58:26 -0700 Subject: [PATCH] exp/services/ledgerexporter: create CI workflow for ledger exporter release (#5368) --- .github/workflows/horizon.yml | 27 ---------------- .github/workflows/ledgerexporter-release.yml | 33 ++++++++++++++++++++ .github/workflows/ledgerexporter.yml | 24 ++++++++++++++ exp/services/ledgerexporter/Makefile | 2 +- 4 files changed, 58 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/ledgerexporter-release.yml create mode 100644 .github/workflows/ledgerexporter.yml diff --git a/.github/workflows/horizon.yml b/.github/workflows/horizon.yml index 3ea92c8b17..cc3cf644f3 100644 --- a/.github/workflows/horizon.yml +++ b/.github/workflows/horizon.yml @@ -149,30 +149,3 @@ jobs: name: Push to DockerHub run: docker push stellar/horizon-verify-range:latest - ledger-exporter: - name: Test and push the Ledger Exporter images - runs-on: ubuntu-latest - env: - STELLAR_CORE_VERSION: 21.0.0-1872.c6f474133.focal - steps: - - uses: actions/checkout@v3 - with: - # For pull requests, build and test the PR head not a merge of the PR with the destination. - ref: ${{ github.event.pull_request.head.sha || github.ref }} - - name: Build Ledger Exporter docker - run: make -C exp/services/ledgerexporter docker-build - - - name: Run Ledger Exporter test - run: make -C exp/services/ledgerexporter docker-test - - # Push images - - if: github.ref == 'refs/heads/master' - name: Login to DockerHub - uses: docker/login-action@bb984efc561711aaa26e433c32c3521176eae55b - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - if: github.ref == 'refs/heads/master' - name: Push to DockerHub - run: make -C exp/services/ledgerexporter docker-push diff --git a/.github/workflows/ledgerexporter-release.yml b/.github/workflows/ledgerexporter-release.yml new file mode 100644 index 0000000000..9b23695c4a --- /dev/null +++ b/.github/workflows/ledgerexporter-release.yml @@ -0,0 +1,33 @@ +name: Ledger Exporter release + +on: + push: + tags: ['ledgerexporter-v*'] + +jobs: + + publish-docker: + name: Test and push the Ledger Exporter images + runs-on: ubuntu-latest + env: + STELLAR_CORE_VERSION: 21.1.0-1921.b3aeb14cc.focal + VERSION: ${GITHUB_REF_NAME#ledgerexporter-v} + steps: + - uses: actions/checkout@v3 + with: + ref: github.sha + - name: Build Ledger Exporter docker + run: make -C exp/services/ledgerexporter docker-build + + - name: Run Ledger Exporter test + run: make -C exp/services/ledgerexporter docker-test + + # Push images + - name: Login to DockerHub + uses: docker/login-action@bb984efc561711aaa26e433c32c3521176eae55b + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Push to DockerHub + run: make -C exp/services/ledgerexporter docker-push diff --git a/.github/workflows/ledgerexporter.yml b/.github/workflows/ledgerexporter.yml new file mode 100644 index 0000000000..63ae5e8128 --- /dev/null +++ b/.github/workflows/ledgerexporter.yml @@ -0,0 +1,24 @@ +name: LedgerExporter + +on: + push: + branches: [master] + pull_request: + +jobs: + ledger-exporter: + name: Build and test Ledger Exporter image + runs-on: ubuntu-latest + env: + STELLAR_CORE_VERSION: 21.1.0-1921.b3aeb14cc.focal + steps: + - uses: actions/checkout@v3 + with: + # For pull requests, build and test the PR head not a merge of the PR with the destination. + ref: ${{ github.event.pull_request.head.sha || github.ref }} + - name: Build Ledger Exporter docker + run: make -C exp/services/ledgerexporter docker-build + + - name: Run Ledger Exporter test + run: make -C exp/services/ledgerexporter docker-test + diff --git a/exp/services/ledgerexporter/Makefile b/exp/services/ledgerexporter/Makefile index 971fc3eb25..0d90a282c3 100644 --- a/exp/services/ledgerexporter/Makefile +++ b/exp/services/ledgerexporter/Makefile @@ -2,7 +2,7 @@ SUDO := $(shell docker version >/dev/null 2>&1 || echo "sudo") # https://github.com/opencontainers/image-spec/blob/master/annotations.md BUILD_DATE := $(shell date -u +%FT%TZ) -VERSION ?= 1.0.0-$(shell git rev-parse --short HEAD) +VERSION ?= $(shell git rev-parse --short HEAD) DOCKER_IMAGE := stellar/ledger-exporter docker-build: