mirror of
https://github.com/FlipsideCrypto/tools.git
synced 2026-02-06 10:46:47 +00:00
Managed by Terraform
This commit is contained in:
parent
a9a3b7e3ae
commit
4d93444eaa
86
.github/actions/docker-build-and-push/action.yml
vendored
Normal file
86
.github/actions/docker-build-and-push/action.yml
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
name: 'docker-build-and-push'
|
||||
description: 'Docker build and push'
|
||||
inputs:
|
||||
base-dir:
|
||||
description: 'Base directory'
|
||||
required: false
|
||||
default: './services'
|
||||
service-name:
|
||||
description: 'Service name'
|
||||
required: true
|
||||
repository-name:
|
||||
description: 'Override the repository name'
|
||||
required: false
|
||||
default: ''
|
||||
outputs:
|
||||
registry:
|
||||
description: "Registry"
|
||||
value: ${{ steps.login-ecr.outputs.registry }}
|
||||
service-name:
|
||||
description: "Service name"
|
||||
value: ${{ steps.docker-build-and-push-config.outputs.service-name }}
|
||||
repository-name:
|
||||
description: "Repository name"
|
||||
value: ${{ steps.docker-build-and-push-config.outputs.repository-name }}
|
||||
branch-name:
|
||||
description: "Branch name"
|
||||
value: ${{ steps.branch-specific-config.outputs.branch-name }}
|
||||
image-rev:
|
||||
description: "Docker image revision"
|
||||
value: ${{ steps.branch-specific-config.outputs.image-rev }}
|
||||
tf-workingdir:
|
||||
description: "Terraform working directory"
|
||||
value: ${{ steps.branch-specific-config.outputs.tf-workingdir }}
|
||||
tf-lockfile:
|
||||
description: "Terraform lockfile"
|
||||
value: ${{ steps.branch-specific-config.outputs.tf-lockfile }}
|
||||
docker-load:
|
||||
description: "Docker load"
|
||||
value: ${{ steps.branch-specific-config.outputs.docker-load }}
|
||||
docker-push:
|
||||
description: "Docker push"
|
||||
value: ${{ steps.branch-specific-config.outputs.docker-push }}
|
||||
manifests-dir:
|
||||
description: "Manifests directory for the environment"
|
||||
value: ${{ steps.branch-specific-config.outputs.manifests-dir }}
|
||||
digest:
|
||||
description: "Digest for the Docker repository image"
|
||||
value: ${{ steps.docker-build-and-push.outputs.digest }}
|
||||
repository-url:
|
||||
description: "Repository URL for the Docker repository image"
|
||||
value: ${{ steps.login-ecr.outputs.registry }}/${{ steps.docker-build-and-push-config.outputs.repository-name }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Docker Build and Push Config
|
||||
id: docker-build-and-push-config
|
||||
run: |
|
||||
set -euxo pipefail
|
||||
|
||||
SERVICE_NAME="${{ inputs.service-name }}"
|
||||
SERVICE_NAME_SANITIZED="${SERVICE_NAME//_/-}"
|
||||
|
||||
REPOSITORY_NAME="${{ inputs.repository-name }}"
|
||||
if [ -z "$REPOSITORY_NAME" ]; then
|
||||
REPOSITORY_NAME="${SERVICE_NAME_SANITIZED}"
|
||||
fi
|
||||
|
||||
echo "::set-output name=service-name::$(echo $SERVICE_NAME_SANITIZED)"
|
||||
echo "::set-output name=repository-name::$(echo $REPOSITORY_NAME)"
|
||||
shell: bash
|
||||
- name: Login to Amazon ECR
|
||||
id: login-ecr
|
||||
uses: aws-actions/amazon-ecr-login@v1
|
||||
- name: Branch specific config
|
||||
uses: ./.github/actions/branch-specific-config
|
||||
id: branch-specific-config
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
- name: Build and push image
|
||||
id: docker-build-and-push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ${{ inputs.base-dir }}/${{ inputs.service-name }}
|
||||
load: ${{ steps.branch-specific-config.outputs.docker-load }}
|
||||
push: ${{ steps.branch-specific-config.outputs.docker-push }}
|
||||
tags: ${{ steps.login-ecr.outputs.registry }}/${{ steps.docker-build-and-push-config.outputs.repository-name }}:${{ steps.branch-specific-config.outputs.image-rev }}
|
||||
Loading…
Reference in New Issue
Block a user