66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
|
# This workflow will perform a test whenever there
|
||
|
# is some change in code done to ensure that the changes
|
||
|
# are not buggy and we are getting the desired output.
|
||
|
name: Build from containerfile
|
||
|
on:
|
||
|
push:
|
||
|
pull_request:
|
||
|
workflow_dispatch:
|
||
|
schedule:
|
||
|
- cron: '0 0 * * *' # every day at midnight
|
||
|
|
||
|
env:
|
||
|
IMAGE_NAME: "hello-world"
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
name: Build image using Buildah
|
||
|
runs-on: container
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
matrix:
|
||
|
install_latest: [ false ]
|
||
|
|
||
|
steps:
|
||
|
|
||
|
# Checkout buildah action github repository
|
||
|
- name: Checkout Buildah action
|
||
|
uses: actions/checkout@v4
|
||
|
with:
|
||
|
path: "buildah-build"
|
||
|
|
||
|
- name: Install latest buildah
|
||
|
if: matrix.install_latest
|
||
|
run: |
|
||
|
bash buildah-build/.github/install_latest_buildah.sh
|
||
|
|
||
|
- name: Create Dockerfile
|
||
|
run: |
|
||
|
cat > Containerfile<<EOF
|
||
|
FROM busybox
|
||
|
RUN echo "hello world"
|
||
|
EOF
|
||
|
|
||
|
# Build image using Buildah action
|
||
|
- name: Build Image
|
||
|
id: build_image
|
||
|
uses: ./buildah-build/
|
||
|
with:
|
||
|
image: ${{ env.IMAGE_NAME }}
|
||
|
layers: false
|
||
|
tags: 'latest ${{ github.sha }}'
|
||
|
containerfiles: |
|
||
|
./Containerfile
|
||
|
extra-args: |
|
||
|
--pull
|
||
|
|
||
|
- name: Echo Outputs
|
||
|
run: |
|
||
|
echo "Image: ${{ steps.build_image.outputs.image }}"
|
||
|
echo "Tags: ${{ steps.build_image.outputs.tags }}"
|
||
|
echo "Tagged Image: ${{ steps.build_image.outputs.image-with-tag }}"
|
||
|
|
||
|
# Check if image is build
|
||
|
- name: Check images created
|
||
|
run: buildah images | grep '${{ env.IMAGE_NAME }}'
|