From 745bca35ec220f79ba4ada630a580c22656fc98f Mon Sep 17 00:00:00 2001 From: Anh Nguyet Vu Date: Mon, 6 May 2024 10:54:52 -0600 Subject: [PATCH] Add build workflow --- .github/workflows/monitor-data-status.yml | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/monitor-data-status.yml diff --git a/.github/workflows/monitor-data-status.yml b/.github/workflows/monitor-data-status.yml new file mode 100644 index 0000000..fe60f97 --- /dev/null +++ b/.github/workflows/monitor-data-status.yml @@ -0,0 +1,66 @@ +name: Dockerize monitor-data-status + +# For only changes in monitor-data-status +# rebuild on push to main (which is already vetted in PR to develop) +on: + push: + branches: + - main + - develop + paths: + - monitor-data-status/** + pull_request: + branches: + - main + paths: + - monitor-data-status/** + +env: + # Use ghcr registry instead of DockerHub + REGISTRY: ghcr.io + # github.repository as / + IMAGE_NAME: ${{ github.repository }} + CONTEXT: ./monitor-data-status + # Job tag to append to image name; e.g. "snapshot" will create image "jobs-snapshot" + JOB_TAG: monitor-data-status + IMAGE: ghcr.io/${{ github.repository }}-monitor-data-status + + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Login against a Docker registry except on PR + # (confirm that image can be built, but don't push to registry) + # https://github.com/docker/login-action + - name: Log into registry ${{ env.REGISTRY }} + if: github.event_name != 'pull_request' + uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Get short hash for tag + id: tag + run: echo "::set-output name=sha7::$(git rev-parse --short $GITHUB_SHA)" + + # Build and push Docker image with Buildx (don't push on PR) + # https://github.com/docker/build-push-action + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + context: ${{ env.CONTEXT }} + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ env.IMAGE }}:latest,${{ env.IMAGE }}:${{steps.tag.outputs.sha7}} + platforms: linux/amd64