Skip to content

refactor(actions/build): image_tag #26

refactor(actions/build): image_tag

refactor(actions/build): image_tag #26

name: Test actions/build
on:
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
IMAGE_TAG: ttl.sh/${{ github.event.repository.name }}.node.release:5m
# NOTE: Fixes "Error: Resource not accessible by integration"
permissions:
contents: read
security-events: write
jobs:
default:
name: default
runs-on: ubuntu-latest
outputs:
image_tag: ${{ steps.docker_build.outputs.image_tag }}
steps:
- uses: percebus/github-actions-common/.github/actions/checkout@main
- uses: ./.github/actions/build
id: docker_build
with:
working-directory: assets/docker/node
dockerfile: Dockerfile
target: release
image_tag: ${{ env.IMAGE_TAG }}
- name: docker push
run: |
echo "pushing image_tag:${{ steps.docker_build.outputs.image_tag }}"
docker push ${{ steps.docker_build.outputs.image_tag }}
# TODO? test in a separate file?
docker_run__default:
needs: default
runs-on: ubuntu-latest
steps:
- name: docker pull
run: docker pull ${{ needs.default.outputs.image_tag }}
- name: docker run
run: docker run ${{ needs.default.outputs.image_tag }}
#
matrix:
needs: default
if: always()
strategy:
fail-fast: false
max-parallel: 10
matrix:
dockerfile:
- Dockerfile
- Dockerfile.next
target:
- dev
# dev
- dist
include:
- dockerfile: Dockerfile
version: latest
- dockerfile: Dockerfile.next
version: next
runs-on: ubuntu-latest
name: "${{ matrix.dockerfile }}: ${{ matrix.target }}"
steps:
- uses: percebus/github-actions-common/.github/actions/checkout@main
- uses: ./.github/actions/build
id: docker_build
with:
working-directory: assets/docker/node
dockerfile: ${{ matrix.dockerfile }}
target: ${{ matrix.target }}
image_tag: ${{ github.event.repository.name }}.${{ matrix.target }}:${{ matrix.version }}
# TODO? push to ttl?
- name: docker run
if: matrix.target == 'dev'
run: docker run ${{ steps.docker_build.outputs.image_tag }}