Remove extra tests
All checks were successful
Check Case Normalization / Build image using Buildah (push) Successful in 4s
Build from containerfile / Build image using Buildah (push) Successful in 4s
Build with docker/metadata-action / Build image with Containerfile (push) Successful in 5s

This commit is contained in:
phil 2024-10-25 04:42:06 +02:00
parent 9bed6aff7e
commit f4f7c75012
4 changed files with 97 additions and 461 deletions

View file

@ -1,48 +0,0 @@
name: CI checks
on:
push:
pull_request:
jobs:
lint:
name: Run ESLint
runs-on: container
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run lint
check-dist:
name: Check Distribution
runs-on: container
env:
BUNDLE_FILE: "dist/index.js"
BUNDLE_COMMAND: "npm run bundle"
steps:
- uses: actions/checkout@v4
- name: Install
run: npm ci
- name: Verify Latest Bundle
uses: redhat-actions/common/bundle-verifier@v1
with:
bundle_file: ${{ env.BUNDLE_FILE }}
bundle_command: ${{ env.BUNDLE_COMMAND }}
check-inputs-outputs:
name: Check Input and Output enums
runs-on: container
env:
IO_FILE: ./src/generated/inputs-outputs.ts
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: npm ci
- name: Verify Input and Output enums
uses: redhat-actions/common/action-io-generator@v1
with:
io_file: ${{ env.IO_FILE }}

View file

@ -86,100 +86,100 @@ jobs:
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.title"' buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.title"'
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.description"' buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.description"'
build-scratch: # build-scratch:
name: Build image without Containerfile # name: Build image without Containerfile
runs-on: container # runs-on: container
strategy: # strategy:
fail-fast: false # fail-fast: false
matrix: # matrix:
install_latest: [ false ] # install_latest: [ false ]
#
env: # env:
PROJECT_DIR: spring-petclinic # PROJECT_DIR: spring-petclinic
IMAGE_NAME: spring-petclinic # IMAGE_NAME: spring-petclinic
MVN_REPO_DIR: ~/.m2/repository # MVN_REPO_DIR: ~/.m2/repository
#
steps: # steps:
#
# Checkout buildah action github repository # # Checkout buildah action github repository
- name: Checkout Buildah action # - name: Checkout Buildah action
uses: actions/checkout@v4 # uses: actions/checkout@v4
#
- name: Docker Metadata # - name: Docker Metadata
id: docker-metadata # id: docker-metadata
uses: docker/metadata-action@v4 # uses: docker/metadata-action@v4
with: # with:
images: | # images: |
${{ env.IMAGE_NAME }} # ${{ env.IMAGE_NAME }}
tags: | # tags: |
type=edge # type=edge
type=sha # type=sha
type=ref,event=branch # type=ref,event=branch
type=ref,event=pr # type=ref,event=pr
type=schedule # type=schedule
type=semver,pattern={{version}} # type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} # type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} # type=semver,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }}
#
- name: Install latest buildah # - name: Install latest buildah
if: matrix.install_latest # if: matrix.install_latest
run: | # run: |
bash .github/install_latest_buildah.sh # bash .github/install_latest_buildah.sh
#
# Checkout spring-petclinic github repository # # Checkout spring-petclinic github repository
- name: Checkout spring-petclinic project # - name: Checkout spring-petclinic project
uses: actions/checkout@v4 # uses: actions/checkout@v4
with: # with:
repository: "spring-projects/spring-petclinic" # repository: "spring-projects/spring-petclinic"
path: ${{ env.PROJECT_DIR }} # path: ${{ env.PROJECT_DIR }}
#
# Setup java. # # Setup java.
- name: Setup Java # - name: Setup Java
uses: actions/setup-java@v3 # uses: actions/setup-java@v3
with: # with:
distribution: 'temurin' # distribution: 'temurin'
java-version: '17' # java-version: '17'
cache: 'maven' # cache: 'maven'
#
# Run maven to build the project # # Run maven to build the project
- name: Maven # - name: Maven
working-directory: ${{ env.PROJECT_DIR }} # working-directory: ${{ env.PROJECT_DIR }}
run: | # run: |
mvn package -ntp -B # mvn package -ntp -B
#
# Build image using Buildah action # # Build image using Buildah action
- name: Build Image # - name: Build Image
id: build_image # id: build_image
uses: ./ # uses: ./
with: # with:
tags: ${{ steps.docker-metadata.outputs.tags }} # tags: ${{ steps.docker-metadata.outputs.tags }}
labels: ${{ steps.docker-metadata.outputs.labels }} # labels: ${{ steps.docker-metadata.outputs.labels }}
base-image: 'registry.access.redhat.com/openjdk/openjdk-11-rhel7' # base-image: 'registry.access.redhat.com/openjdk/openjdk-11-rhel7'
# To avoid hardcoding a particular version of the binary. # # To avoid hardcoding a particular version of the binary.
content: | # content: |
./spring-petclinic/target/spring-petclinic-*.jar # ./spring-petclinic/target/spring-petclinic-*.jar
entrypoint: | # entrypoint: |
java # java
-jar # -jar
spring-petclinic-*.jar # spring-petclinic-*.jar
port: 8080 # port: 8080
arch: amd64 # arch: amd64
workdir: "." # workdir: "."
#
- name: Echo Outputs # - name: Echo Outputs
run: | # run: |
echo "Image: ${{ steps.build_image.outputs.image }}" # echo "Image: ${{ steps.build_image.outputs.image }}"
echo "Tags: ${{ steps.build_image.outputs.tags }}" # echo "Tags: ${{ steps.build_image.outputs.tags }}"
echo "Tagged Image: ${{ steps.build_image.outputs.image-with-tag }}" # echo "Tagged Image: ${{ steps.build_image.outputs.image-with-tag }}"
#
# Check if image is build # # Check if image is build
- name: Check images created # - name: Check images created
run: buildah images | grep '${{ env.IMAGE_NAME }}' # run: buildah images | grep '${{ env.IMAGE_NAME }}'
#
- name: Check image metadata # - name: Check image metadata
run: | # run: |
set -x # set -x
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.OCIv1.config.Labels."org.opencontainers.image.title"' # buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.OCIv1.config.Labels."org.opencontainers.image.title"'
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.OCIv1.config.Labels."org.opencontainers.image.description"' # buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.OCIv1.config.Labels."org.opencontainers.image.description"'
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.title"' # buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.title"'
buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.description"' # buildah inspect ${{ steps.build_image.outputs.image-with-tag }} | jq '.Docker.config.Labels."org.opencontainers.image.description"'

View file

@ -1,229 +0,0 @@
name: Multiarch build
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # every day at midnight
env:
PROJECT_DIR: spring-petclinic
MVN_REPO_DIR: ~/.m2/repository
IMAGE_TAG: latest
jobs:
build-multiarch-containerfile:
name: Build multi-architecture image using Containerfile
env:
IMAGE_NAME: hello-world-multiarch
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: Install qemu dependency
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static
- name: Create Containerfile
run: |
cat > Containerfile<<EOF
FROM docker.io/alpine:3.14
RUN echo "hello world"
ENTRYPOINT [ "sh", "-c", "echo -n 'Machine: ' && uname -m && echo -n 'Bits: ' && getconf LONG_BIT && echo 'goodbye world'" ]
EOF
- name: Build Image
id: build_image_multiarch
uses: ./buildah-build/
with:
image: ${{ env.IMAGE_NAME }}
tags: latest v1
archs: amd64 # Single arch testcase
containerfiles: |
./Containerfile
- name: Echo Outputs
run: |
echo "Image: ${{ steps.build_image_multiarch.outputs.image }}"
echo "Tags: ${{ steps.build_image_multiarch.outputs.tags }}"
echo "Tagged Image: ${{ steps.build_image_multiarch.outputs.image-with-tag }}"
- name: Check images created
run: buildah images | grep '${{ env.IMAGE_NAME }}'
- name: Check image metadata
run: |
set -x
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:${{ env.IMAGE_TAG }} | jq ".OCIv1.architecture"
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:${{ env.IMAGE_TAG }} | jq ".Docker.architecture"
- name: Run image
run: |
podman run --rm ${{ steps.build_image_multiarch.outputs.image }}:${{ env.IMAGE_TAG }}
build-multiplatform-containerfile:
name: Build multi-platform image using Containerfile
env:
IMAGE_NAME: hello-world-multiplatform
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: Install qemu dependency
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static
- name: Create Containerfile
run: |
cat > Containerfile<<EOF
FROM docker.io/alpine:3.16
RUN echo "hello world"
ENTRYPOINT [ "sh", "-c", "echo -n 'Machine: ' && uname -m && echo -n 'Bits: ' && getconf LONG_BIT && echo 'goodbye world'" ]
EOF
- name: Build Image
id: build_image_multiplatform
uses: ./buildah-build/
with:
image: ${{ env.IMAGE_NAME }}
tags: ${{ env.IMAGE_TAG }}
platforms: linux/amd64, linux/ppc64le
containerfiles: |
./Containerfile
- name: Echo Outputs
run: |
echo "Image: ${{ steps.build_image_multiplatform.outputs.image }}"
echo "Tags: ${{ steps.build_image_multiplatform.outputs.tags }}"
echo "Tagged Image: ${{ steps.build_image_multiplatform.outputs.image-with-tag }}"
- name: Check images created
run: buildah images | grep '${{ env.IMAGE_NAME }}'
- name: Check manifest
run: |
set -x
buildah manifest inspect ${{ steps.build_image_multiplatform.outputs.image }}:${{ env.IMAGE_TAG }}
- name: Run image
run: |
podman run --rm ${{ steps.build_image_multiplatform.outputs.image }}:${{ env.IMAGE_TAG }}
build-multiarch-scratch:
name: Build multi-architecture image from scratch
env:
IMAGE_NAME: spring-petclinic-multiarch
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: Install qemu dependency
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static
# 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
- name: Build Image
id: build_image_multiarch
uses: ./buildah-build/
with:
image: ${{ env.IMAGE_NAME }}
tags: ${{ env.IMAGE_TAG }}
base-image: 'registry.access.redhat.com/openjdk/openjdk-11-rhel7'
archs: amd64, i386, ppc64le
# To avoid hardcoding a particular version of the binary.
content: |
./spring-petclinic/target/spring-petclinic-*.jar
entrypoint: |
java
-jar
spring-petclinic-*.jar
port: 8080
workdir: "."
- name: Echo Outputs
run: |
echo "Image: ${{ steps.build_image_multiarch.outputs.image }}"
echo "Tags: ${{ steps.build_image_multiarch.outputs.tags }}"
echo "Tagged Image: ${{ steps.build_image_multiarch.outputs.image-with-tag }}"
- name: Check images created
run: buildah images | grep '${{ env.IMAGE_NAME }}'
- name: Check manifest
run: |
set -x
buildah manifest inspect ${{ steps.build_image_multiarch.outputs.image }}:${{ env.IMAGE_TAG }}

View file

@ -1,87 +0,0 @@
# 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: 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
# 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 }}'