Skip to content

Commit

Permalink
chore: split docker build into seperate jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
moshloop committed Mar 10, 2025
1 parent a85c334 commit 0517e11
Showing 1 changed file with 88 additions and 4 deletions.
92 changes: 88 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,49 @@ jobs:
-f build/minimal/Dockerfile \
--push \
.
docker-full:
needs: semantic-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6

- name: Clear up disk space
run: |
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
rm -rf /usr/local/share/boost
rm -rf $AGENT_TOOLSDIRECTORY
rm -rf /opt/hostedtoolcache
- name: Publish Full Image to Dockerhub & ECR Public
- name: Set version
# Always use git tags as semantic release can fail due to rate limit
run: |
git fetch --prune --unshallow
echo "RELEASE_VERSION=$(git describe --abbrev=0 --tags | sed -e 's/^v//')" >> $GITHUB_ENV
- name: Set up Docker Buildx #must be executed before a step that contains platforms
uses: docker/setup-buildx-action@v2

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.ECR_AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.ECR_AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Login to Amazon ECR Public
id: login-ecr-public
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public

- name: Publish Image to Dockerhub & ECR Public
env:
REGISTRY: ${{ steps.login-ecr-public.outputs.registry }}
REGISTRY_ALIAS: k4y9r6y5
Expand All @@ -169,16 +210,58 @@ jobs:
run: |
docker buildx create --use
docker buildx build \
--platform linux/amd64,linux/arm64 \
--cache-from=docker.io/flanksource/$REPOSITORY:latest \
--platform linux/amd64,linux/arm64 \
-t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG-full \
-t docker.io/flanksource/$REPOSITORY:$IMAGE_TAG-full \
-t docker.io/flanksource/$REPOSITORY:latest-full \
-f build/full/Dockerfile \
--push \
.
- name: Publish Slim Image to Dockerhub & ECR Public
docker-slim:
needs: semantic-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6

- name: Clear up disk space
run: |
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
rm -rf /usr/local/share/boost
rm -rf $AGENT_TOOLSDIRECTORY
rm -rf /opt/hostedtoolcache
- name: Set version
# Always use git tags as semantic release can fail due to rate limit
run: |
git fetch --prune --unshallow
echo "RELEASE_VERSION=$(git describe --abbrev=0 --tags | sed -e 's/^v//')" >> $GITHUB_ENV
- name: Set up Docker Buildx #must be executed before a step that contains platforms
uses: docker/setup-buildx-action@v2

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.ECR_AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.ECR_AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Login to Amazon ECR Public
id: login-ecr-public
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public

- name: Publish Image to Dockerhub & ECR Public
env:
REGISTRY: ${{ steps.login-ecr-public.outputs.registry }}
REGISTRY_ALIAS: k4y9r6y5
Expand All @@ -187,14 +270,15 @@ jobs:
run: |
docker buildx create --use
docker buildx build \
--platform linux/amd64,linux/arm64 \
--cache-from=docker.io/flanksource/$REPOSITORY:latest \
--platform linux/amd64,linux/arm64 \
-t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG-slim \
-t docker.io/flanksource/$REPOSITORY:$IMAGE_TAG-slim \
-t docker.io/flanksource/$REPOSITORY:latest-slim \
-f build/slim/Dockerfile \
--push \
.
helm:
runs-on: ubuntu-latest
needs: [semantic-release, docker]
Expand Down

0 comments on commit 0517e11

Please sign in to comment.