Files
blog/.github/workflows/docker-publish.yml
2022-06-29 15:00:36 +02:00

60 lines
1.7 KiB
YAML

name: Docker image build
on:
push:
branches: [ "main" ]
# Publish semver tags as releases.
paths:
- '**.php'
- 'composer.*'
- 'config/**'
- '.github/**'
- 'Procfile'
- 'project.toml'
pull_request:
branches: [ "main" ]
env:
DESCRIPTION: "HVG Blog Wordpress Heroku App Image https://hvgblog.hu"
COMPOSER_AUTH: "{\"github-oauth\":{\"github.com\":\"${{ secrets.HVG_DEV_GH_TOKEN }}\"}}"
jobs:
pack-example:
name: Pack Build and Publish!
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: buildpacks/github-actions/setup-pack@v4.8.0
- name: Docker registry login
uses: docker/login-action@v1
with:
registry: ghcr.io/hvg
username: hvg-dev
password: ${{ secrets.HVG_DEV_GH_TOKEN }}
- name: Set build environment
run: |
year=$(date +%Y);
day=$(date +%j);
ref="${GITHUB_REF#refs/*/}";
echo "REF=$ref" >> $GITHUB_ENV;
tag="${GITHUB_REF#tags/*/}";
[[ $tag == '' ]] || tag="${year}.${day}.${{ github.run_number }}";
echo "TAG=$tag" >> $GITHUB_ENV;
- name: Build Image with pack
run: |
[[ ! -z $(yq e '. | keys' Procfile | cut -c 3- | grep bash) ]] \
|| echo 'bash: bash -l' >> Procfile
pack build "ghcr.io/hvg/blog:$TAG" \
--builder heroku/buildpacks:20 \
--descriptor project.toml \
--workspace /app \
--env COMPOSER_AUTH=$COMPOSER_AUTH;
- name: Tag Docker image to ref
run: |
docker tag ghcr.io/hvg/blog:$TAG ghcr.io/hvg/blog:$REF
- name: Docker push
run: |
docker push ghcr.io/hvg/blog:$TAG
docker push ghcr.io/hvg/blog:$REF