Skip to content

Commit

Permalink
Move docker image build to github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
r-ash committed Jul 12, 2024
1 parent 93a24f3 commit 84d7c72
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 18 deletions.
1 change: 1 addition & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.html
92 changes: 92 additions & 0 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Build Docker Image

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

env:
TAG_LOADBALANCER: mrcide/hintr-loadbalancer
TAG_LOADBALANCER_GHCR: mrc-ide/hintr-loadbalancer

jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- id: extract_branch
name: Setup Environment
shell: bash
run: |
if [ "${{github.event_name}}" = "pull_request" ];
then
LONG_SHA=${{ github.event.pull_request.head.sha }}
echo "CI_BRANCH=${{ github.head_ref }}" >> $GITHUB_OUTPUT
else
LONG_SHA=${GITHUB_SHA}
echo "CI_BRANCH=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
echo "CI_SHA=${LONG_SHA:0:7}" >> $GITHUB_OUTPUT
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Login to GHCR (GitHub Packages)
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build dev loadbalancer container
uses: docker/build-push-action@v6
if: github.event_name == 'pull_request'
with:
load: true
tags: |
${{env.TAG_LOADBALANCER}}:${{steps.extract_branch.outputs.CI_BRANCH}}
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:${{steps.extract_branch.outputs.CI_BRANCH}}
- name: Build prod loadbalancer container
uses: docker/build-push-action@v6
if: github.event_name != 'pull_request'
with:
load: true
tags: |
${{env.TAG_LOADBALANCER}}:latest
${{env.TAG_LOADBALANCER}}:${{steps.extract_branch.outputs.CI_BRANCH}}
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:latest
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:${{steps.extract_branch.outputs.CI_BRANCH}}
- name: Test loadbalancer container
run: ./test
env:
TAG_BRANCH: ${{env.TAG_LOADBALANCER}}:${{steps.extract_branch.outputs.CI_BRANCH}}

- name: Push dev loadbalancer container
uses: docker/build-push-action@v6
if: github.event_name == 'pull_request'
with:
push: true
tags: |
${{env.TAG_LOADBALANCER}}:${{steps.extract_branch.outputs.CI_BRANCH}}
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:${{steps.extract_branch.outputs.CI_BRANCH}}
- name: Push prod loadbalancer container
uses: docker/build-push-action@v6
if: github.event_name != 'pull_request'
with:
push: true
tags: |
${{env.TAG_LOADBALANCER}}:latest
${{env.TAG_LOADBALANCER}}:${{steps.extract_branch.outputs.CI_BRANCH}}
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:latest
ghcr.io/${{env.TAG_LOADBALANCER_GHCR}}:${{steps.extract_branch.outputs.CI_BRANCH}}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
14 changes: 0 additions & 14 deletions buildkite/pipeline.yml

This file was deleted.

6 changes: 2 additions & 4 deletions test
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
#!/usr/bin/env bash
set -ex
HERE=$(dirname $0)
. $HERE/common

# In case we switch agents between steps or tag has been updated
docker pull $TAG_SHA
docker pull "$TAG_BRANCH"

NAME_NETWORK=hintr_network
NAME_LOADBALANCER=hintr_loadbalancer
Expand Down Expand Up @@ -34,7 +32,7 @@ docker run --rm -d --network=$NAME_NETWORK \
docker run --rm -d --network=$NAME_NETWORK \
-p 8888:8888 \
--name $NAME_LOADBALANCER \
$TAG_SHA
"$TAG_BRANCH"

## Data API is running
sleep 2
Expand Down

0 comments on commit 84d7c72

Please sign in to comment.