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/builder-classic:22 \ --descriptor project.toml \ --workspace /app \ --env COMPOSER_AUTH=$COMPOSER_AUTH --env ALLOW_EOL_SHIMMED_BUILDER=1; - 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