Build #1638
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * *' # every day at midnight | |
env: | |
PROJECT_DIR: spring-petclinic | |
IMAGE_NAME: spring-petclinic | |
MVN_REPO_DIR: ~/.m2/repository | |
jobs: | |
build: | |
name: Build image using Buildah | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
install_latest: [ true, 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 | |
# Checkout spring-petclinic github repository | |
- name: Checkout spring-petclinic project | |
uses: actions/checkout@v4 | |
with: | |
repository: "spring-projects/spring-petclinic" | |
path: ${{ env.PROJECT_DIR }} | |
# Setup java. | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: 'maven' | |
# Run maven to build the project | |
- name: Maven | |
working-directory: ${{ env.PROJECT_DIR }} | |
run: | | |
mvn package -ntp -B | |
# Build image using Buildah action | |
- name: Build Image | |
id: build_image | |
uses: ./buildah-build/ | |
with: | |
image: ${{ env.IMAGE_NAME }} | |
tags: 'latest ${{ github.sha }}' | |
base-image: 'registry.access.redhat.com/openjdk/openjdk-11-rhel7' | |
# To avoid hardcoding a particular version of the binary. | |
content: | | |
./spring-petclinic/target/spring-petclinic-*.jar | |
entrypoint: | | |
java | |
-jar | |
spring-petclinic-*.jar | |
port: 8080 | |
arch: amd64 | |
workdir: "." | |
- 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 }}' |