Skip to content

Commit f0b3d4d

Browse files
authored
Merge pull request #2 from MinaFoundation/publish-docker-workflow
Publish docker workflow
2 parents 1e0e5ab + 7cad49c commit f0b3d4d

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

.github/workflows/publish.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Publish
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
workflow_dispatch:
8+
inputs:
9+
docker_tag_prefix:
10+
description: "Enter the Docker Tag Prefix (e.g adhoc-test)"
11+
required: true
12+
type: string
13+
env:
14+
ECR_REPOSITORY_URL: 673156464838.dkr.ecr.us-west-2.amazonaws.com
15+
ECR_REPOSITORY_NAME: submission-report
16+
DOCKER_TAG_PREFIX: ${{ github.event.inputs.docker_tag_prefix }}
17+
18+
# This allows a subsequently queued workflow run to interrupt previous runs
19+
concurrency:
20+
group: '${{ github.workflow }} @ ${{ github.head_ref || github.ref }}'
21+
cancel-in-progress: true
22+
23+
jobs:
24+
build-docker-image:
25+
name: Build and Push Docker Image
26+
runs-on: minafoundation-default-runners
27+
steps:
28+
- name: 📥 Checkout
29+
uses: actions/checkout@v3
30+
- name: 🏷️ Generate Tag
31+
run: |
32+
BRANCH_OR_TAG=$(basename ${{ github.ref }})
33+
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
34+
PREFIX=${{ env.DOCKER_TAG_PREFIX }}
35+
SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
36+
echo "TAG=$PREFIX-$BRANCH_OR_TAG-$SHORT_SHA" >> $GITHUB_ENV
37+
elif [ "${{ github.event_name }}" == "push" ] && [ -n "${{ github.event.ref }}" ]; then
38+
echo "TAG=$BRANCH_OR_TAG" >> $GITHUB_ENV
39+
else
40+
echo "Invalid event. Exiting..."
41+
exit 1
42+
fi
43+
- name: 🔑 ECR Login
44+
id: login-ecr
45+
uses: aws-actions/amazon-ecr-login@v1
46+
- name: 🔍 Check if Tag already exists
47+
id: checktag
48+
uses: tyriis/docker-image-tag-exists@main
49+
with:
50+
registry: ${{ env.ECR_REPOSITORY_URL}}
51+
repository: ${{ env.ECR_REPOSITORY_NAME }}
52+
tag: ${{ env.TAG }}
53+
- name: 🛠️ Build Submission Report Docker Image
54+
if: steps.checktag.outputs.tag == 'not found'
55+
run: DOCKER_BUILDKIT=1 docker build -t ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:${{ env.TAG }} .
56+
- name: 🚚 Push Submission Report Docker Image
57+
if: steps.checktag.outputs.tag == 'not found'
58+
run: docker push ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:${{ env.TAG }}

0 commit comments

Comments
 (0)