Skip to content

Merge pull request #8 from exdial/ft/dockerize-checks #1

Merge pull request #8 from exdial/ft/dockerize-checks

Merge pull request #8 from exdial/ft/dockerize-checks #1

Workflow file for this run

name: Build Docker image
on:
push:
branches: ['main']
workflow_dispatch:
jobs:
# Check if something important has changed
check_changes:
runs-on: ubuntu-latest
# Define job outputs to pass values between jobs
outputs:
dockerfile: steps.changes.outputs.dockerfile
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check changed files
id: changes
uses: dorny/paths-filter@v2
with:
filters: |
dockerfile:
- Dockerfile
- .dockerignore
- .github/workflows/build-image.yaml
build_image:
needs: check_changes
if: needs.check_changes.outputs.dockerfile == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Define versions, date and tag
run: |
alpine_version=$(grep -i alpine .versions | cut -d '=' -f2)
echo "alpine_version=$alpine_version" >> $GITHUB_ENV
packer_version=$(grep -i packer .versions | cut -d '=' -f2)
echo "packer_version=$packer_version" >> $GITHUB_ENV
terraform_version=$(grep -i terraform .versions | cut -d '=' -f2)
echo "terraform_version=$terraform_version" >> $GITHUB_ENV
terragrunt_version=$(grep -i terragrunt .versions | cut -d '=' -f2)
echo "terragrunt_version=$terragrunt_version" >> $GITHUB_ENV
image_create_date=$(date '+%Y-%m-%dT%H:%M:%S')
echo "image_create_date=$image_create_date" >> $GITHUB_ENV
echo "image_version=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
push: true
load: true
build-args: |
ALPINE_VERSION=${{ env.alpine_version }}
PACKER_VERSION=${{ env.packer_version }}
TERRAFORM_VERSION=${{ env.terraform_version }}
TERRAGRUNT_VERSION=${{ env.terragrunt_version }}
IMAGE_CREATE_DATE=${{ env.image_create_date }}
IMAGE_VERSION=${{ env.image_version }}