Skip to content

Remove version attribute #29

Remove version attribute

Remove version attribute #29

Workflow file for this run

name: CICD
on:
push:
tags: ["*"]
branches: [ "main" ]
workflow_dispatch:
env:
DOCKERHUB_REPOSITORY: opositatest/varnish-jwt
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
jobs:
test:
uses: ./.github/workflows/test.yml
secrets: inherit
build:
needs: test
name: ${{ matrix.os }}, ${{ matrix.arch }}
runs-on: [ "${{ matrix.os }}-${{ matrix.arch }}" ]
timeout-minutes: 20
strategy:
matrix:
os: [ public-ubuntu-latest ]
arch: [ amd64, arm64 ]
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Get the version
id: get_version
run: echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
- name: Check if latest
id: latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: echo "version=latest" >> $GITHUB_ENV
- uses: aws-actions/amazon-ecr-login@v1
id: login-ecr
- name: Build, tag and push image to Docker Hub and ECR
id: build
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
run: |
docker build -t ${DOCKERHUB_REPOSITORY}:${version}-${{ matrix.arch }} .
docker tag ${DOCKERHUB_REPOSITORY}:${version}-${{ matrix.arch }} ${ECR_REGISTRY}/${ECR_REPOSITORY}:${version}-${{ matrix.arch }}
docker push ${DOCKERHUB_REPOSITORY}:${version}-${{ matrix.arch }}
docker push ${ECR_REGISTRY}/${ECR_REPOSITORY}:${version}-${{ matrix.arch }}
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Login to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1
id: login-ecr
- name: Get the version
id: get_version
run: echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
- name: Check if latest
id: latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: echo "version=latest" >> $GITHUB_ENV
- name: Tag and push merged image to Docker Hub and ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
run: |
docker buildx imagetools create -t ${DOCKERHUB_REPOSITORY}:${version} \
${DOCKERHUB_REPOSITORY}:${version}-amd64 \
${DOCKERHUB_REPOSITORY}:${version}-arm64
docker buildx imagetools create -t ${ECR_REGISTRY}/${ECR_REPOSITORY}:${version} \
${ECR_REGISTRY}/${ECR_REPOSITORY}:${version}-amd64 \
${ECR_REGISTRY}/${ECR_REPOSITORY}:${version}-arm64