Skip to content

New docker stage for runtime #21

New docker stage for runtime

New docker stage for runtime #21

Workflow file for this run

name: download directory ci
on:
workflow_dispatch:
pull_request:
types:
- opened
- synchronize
push:
branches:
- main
permissions:
id-token: write
contents: read
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- env:
DB_USER: ${{ secrets.DB_USER }}
DB_PASS: ${{ secrets.DB_PASS }}
run: |
envsubst '${DB_USER},${DB_PASS}' < secrets-template.pm > Secrets.pm
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
tags: tmp-tag
outputs: type=docker,dest=/tmp/image.tar
- uses: actions/upload-artifact@v4
with:
name: image-artifact
path: /tmp/image.tar
docker-push:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
needs: docker-build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: image-artifact
path: /tmp
- id: get-hash
run: |
FULL_SHA=${{ github.sha }}
echo "SHORT_SHA=${FULL_SHA:0:7}" >> $GITHUB_OUTPUT
- env:
AWS_REGION: us-east-1
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ vars.AWS_ROLE }}
aws-region: ${{ env.AWS_REGION }}
- id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public
- env:
AWS_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
AWS_REGISTRY_ALIAS: k2y5k6e2
AWS_REPO: release-download-directory
IMG_TAG: ${{ steps.get-hash.outputs.SHORT_SHA }}
run: |
AWS_URI=$AWS_REGISTRY/$AWS_REGISTRY_ALIAS/$AWS_REPO
docker load --input /tmp/image.tar
docker tag tmp-tag $AWS_URI:latest
docker push $AWS_URI:latest
docker tag $AWS_URI:latest $AWS_URI:$IMG_TAG
docker push $AWS_URI:$IMG_TAG