Skip to content

Upgrade and verify OLM for tests, remove superfluous yq install #9440

Upgrade and verify OLM for tests, remove superfluous yq install

Upgrade and verify OLM for tests, remove superfluous yq install #9440

Workflow file for this run

name: Build
on:
push:
branches:
- 'main'
- '[0-9]+.[0-9]+.x'
pull_request:
branches:
- 'main'
- '[0-9]+.[0-9]+.x'
- 'systemtests'
types: [ opened, reopened, synchronize ]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
# build-images:
# runs-on: ubuntu-24.04
# services:
# registry:
# image: registry:2
# ports:
# - 5000:5000
# env:
# PLATFORMS: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
#
# steps:
# # ==================== Setup ====================
# - name: Checkout
# uses: actions/checkout@v6
#
# - name: Set Image Tag Env
# run: echo "PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
#
# - name: Operator Version Check
# run: ./operator/bin/version-check.sh "${{ env.PROJECT_VERSION }}"
#
# - name: Fetch Operator Framework Utilities
# run: ./operator/bin/fetch-operator-utilities.sh
#
# - name: Set Up JDK
# uses: actions/setup-java@v5
# with:
# java-version: '21'
# distribution: 'temurin'
#
# - name: Cache Maven Packages
# uses: actions/cache@v5
# with:
# path: ~/.m2/repository
# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
# restore-keys: |
# ${{ runner.os }}-maven-
#
# - name: Set Up QEMU
# uses: docker/setup-qemu-action@v4
#
# - name: Set Up Docker Buildx
# uses: docker/setup-buildx-action@v4
# with:
# driver-opts: network=host
#
# # ==================== API & Operator ====================
# - name: Build API and Operator Images
# run: |
# export QUARKUS_CONTAINER_IMAGE_REGISTRY="localhost:5000"
# export QUARKUS_CONTAINER_IMAGE_PUSH=true
# export QUARKUS_CONTAINER_IMAGE_TAG="${{ env.PROJECT_VERSION }}"
# export QUARKUS_KUBERNETES_VERSION="${{ env.PROJECT_VERSION }}"
#
# mvn verify -P container-image -B --no-transfer-progress -DskipTests \
# -Dquarkus.kubernetes.namespace='$${NAMESPACE}' \
# -Dquarkus.docker.buildx.platform=${{ env.PLATFORMS }}
#
# # ==================== Operator-Bundle ====================
# - name: Modify Bundle CSV Metadata
# run: ./operator/bin/modify-bundle-metadata.sh "VERSION=${{ env.PROJECT_VERSION }}" "PLATFORMS=${{ env.PLATFORMS }}"
#
# - name: Build Operator Bundle Image
# uses: docker/build-push-action@v7
# with:
# context: operator/target/bundle/streamshub-console-operator/
# platforms: ${{ env.PLATFORMS }}
# provenance: false
# push: true
# file: operator/target/bundle/streamshub-console-operator/bundle.Dockerfile
# tags: |
# localhost:5000/streamshub/console-operator-bundle:${{ env.PROJECT_VERSION }}
#
# # ==================== Operator-Catalog ====================
# - name: Generate Operator Catalog Config
# run: |
# operator/bin/generate-catalog.sh localhost:5000/streamshub/console-operator-bundle true
#
# - name: Build Operator Catalog Image
# uses: docker/build-push-action@v7
# with:
# context: operator/
# platforms: ${{ env.PLATFORMS }}
# network: none
# provenance: false
# push: true
# file: operator/src/main/docker/catalog.Dockerfile
# tags: |
# localhost:5000/streamshub/console-operator-catalog:${{ env.PROJECT_VERSION }}
#
# # ==================== Archive artifacts ====================
# - name: Archive Operator Kubernetes Resources
# uses: actions/upload-artifact@v7
# with:
# name: k8s-resources
# path: |
# operator/target/bundle/
# operator/target/catalog/
# operator/target/kubernetes/*.yml
#
# - name: Save [UI, API, Operator, Operator-Bundle, Operator-Catalog] Images To Files
# run: |
# mkdir streamshub-images
#
# for img in console-api console-operator console-operator-bundle console-operator-catalog ; do
# skopeo sync --all --scoped --src docker --src-tls-verify=false --dest dir \
# localhost:5000/streamshub/${img}:${{ env.PROJECT_VERSION }} \
# $(pwd)/streamshub-images
# done
#
# tar -czf streamshub-images.tgz -C streamshub-images .
#
# - name: Archive [API, Operator-Bundle, Operator, Operator-Catalog] Image Files
# uses: actions/upload-artifact@v7
# with:
# name: streamshub-images
# path: streamshub-images.tgz
test-java:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set Up JDK
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'temurin'
- name: Cache Maven Packages
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Test API and Operator
run: |
#
# Set write-transformed-bytecode-to-build-output for IT coverage. Do NOT use the container image
# created by this step.
#
# See: https://quarkus.io/guides/tests-with-coverage#coverage-for-integration-tests
#
mvn verify -B --no-transfer-progress -DskipSTs \
-Dquarkus.package.write-transformed-bytecode-to-build-output=true
- name: Archive Failed Tests Results
uses: actions/upload-artifact@v7
if: failure()
with:
name: artifacts
path: |
**/target/failsafe-reports/
**/target/surefire-reports/
## Save the context information for use in Sonar analysis
- name: Save Build Context
run: |
mkdir -vp target
echo "$GITHUB_CONTEXT" > target/build-context.json
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
## Attach the target directory for use in Sonar analysis
- name: Archive Build Output
uses: actions/upload-artifact@v7
with:
name: target
path: |
**/target/
!**/target/**/*.jar
!**/target/failsafe-reports/**/*
!**/target/surefire-reports/**/*
lint-ui:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Lint UI Project
working-directory: api/src/main/webui
run: |
npm ci --ignore-scripts
npm run lint
# test-storybook:
# runs-on: ubuntu-24.04
# steps:
# - name: Checkout
# uses: actions/checkout@v6
#
# - name: Build Storybook
# working-directory: ./ui
# run: |
# npm ci
# npx playwright install
# npm run build-storybook
#
# - name: Test Storybook
# working-directory: ./ui
# run: |
# npx --yes concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
# "npx http-server storybook-static --port 6006 --silent" \
# "npx wait-on tcp:127.0.0.1:6006 && npm run test-storybook"
Playwright:
if: ${{ contains(github.event.pull_request.labels.*.name, 'safe to test') || github.repository == 'streamshub/console' }}
uses: ./.github/workflows/playwright-tests.yml
# needs:
# - build-images