From 6652d5c275e011e8143e23e22fe29fd7bf860361 Mon Sep 17 00:00:00 2001 From: Gabriel Montes Date: Mon, 3 Mar 2025 16:25:41 -0500 Subject: [PATCH] Build token prices service Docker images --- .github/actions/docker-build-push/action.yml | 39 ++++++++++++++++++++ .github/workflows/build-push-images.yml | 27 ++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/actions/docker-build-push/action.yml create mode 100644 .github/workflows/build-push-images.yml diff --git a/.github/actions/docker-build-push/action.yml b/.github/actions/docker-build-push/action.yml new file mode 100644 index 00000000..7967d4f9 --- /dev/null +++ b/.github/actions/docker-build-push/action.yml @@ -0,0 +1,39 @@ +name: Docker Build and Push + +description: Build and push Docker images + +inputs: + context: + description: 'The build context' + required: false + default: '.' + dockerHubPassword: + description: 'Docker Hub token' + required: true + dockerHubUsername: + description: 'Docker Hub username' + required: true + images: + description: 'The Docker image name' + required: true + +runs: + using: composite + steps: + - uses: docker/setup-buildx-action@v3 + - id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ inputs.images }} + - uses: docker/login-action@v3 + with: + password: ${{ inputs.dockerHubPassword }} + username: ${{ inputs.dockerHubUsername }} + - uses: docker/build-push-action@v6 + with: + context: ${{ inputs.context }} + file: ./Dockerfile + labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/build-push-images.yml b/.github/workflows/build-push-images.yml new file mode 100644 index 00000000..c3b1b7db --- /dev/null +++ b/.github/workflows/build-push-images.yml @@ -0,0 +1,27 @@ +name: Publish Docker image + +on: + push: + branches: + - main + paths: + - 'token-prices/**' + workflow_dispatch: + +jobs: + token-prices: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/docker-build-push + with: + context: token-prices/cron + dockerHubPassword: ${{ secrets.DOCKERHUB_TOKEN }} + dockerHubUsername: ${{ secrets.DOCKERHUB_USERNAME }} + images: hemilabs/token-prices-cron + - uses: ./.github/actions/docker-build-push + with: + context: token-prices/api + dockerHubPassword: ${{ secrets.DOCKERHUB_TOKEN }} + dockerHubUsername: ${{ secrets.DOCKERHUB_USERNAME }} + images: hemilabs/token-prices-api