Skip to content

Add ECR

Add ECR #10

Workflow file for this run

---
name: build-push
on:
push:
branches:
- main
workflow_dispatch:
env:
AWS_REGION: us-east-1
OWNER: opslabhq
GROUP: base
FILE: alpine
permissions:
id-token: write
contents: read
jobs:
build-push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
show-progress: false
- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3
- name: Login to DockerHub
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
with:
username: opslabhq
password: ${{ secrets.DOCKER_SECRET }}
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GH_SECRET }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_ARN_ECR_PUBLIC }}
role-session-name: "GitHubActions-${{ github.event.repository.owner.login }}-${{ github.event.repository.name }}-${{ github.run_id }}"
aws-region: ${{ env.AWS_REGION }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2
with:
registry-type: public
- name: Extract version from Dockerfile
id: extract_version
run: |
echo "OWNER=${OWNER,,}" >> $GITHUB_ENV
echo "OWNER=${OWNER,,}"
echo "FILE=${FILE,,}" >> $GITHUB_ENV
echo "FILE=${FILE,,}"
TAG=$(sed -n 's/^ARG BASE_VERSION=v\?\([0-9.]*\).*/\1/p' Dockerfile)
echo "TAG=${TAG#v}" >> $GITHUB_ENV
echo "TAG=${TAG#v}"
- name: Push
uses: docker/bake-action@e626c7390c9f95508a135a89e65ec698e061fb2a # v5
with:
targets: push