Skip to content

Quarkus CI - OpenShift #16

Quarkus CI - OpenShift

Quarkus CI - OpenShift #16

Workflow file for this run

name: Quarkus CI - OpenShift
on:
workflow_dispatch:
schedule:
# 2am every weekday + saturday
- cron: '0 2 * * 1-6'
env:
MAVEN_ARGS: -B -e
jobs:
cache:
name: Build and save artifacts
runs-on: ubuntu-latest
if: "github.repository == 'quarkusio/quarkus' || github.event_name == 'workflow_dispatch'"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Install artifacts
run: ./mvnw ${MAVEN_ARGS} -DskipTests -DskipITs -Dinvoker.skip clean install -pl :quarkus-integration-test-kubernetes-invoker -am
- name: Tar Maven repository
shell: bash
run: tar -I 'pigz -9' -cf maven-repo.tgz -C ~ .m2/repository
- name: Persist Maven repository
uses: actions/upload-artifact@v4
with:
name: maven-repo
path: maven-repo.tgz
retention-days: 1
openshift:
name: OpenShift Integration Tests
needs: cache
runs-on: ubuntu-20.04
if: github.repository == 'quarkusio/quarkus' || github.event_name == 'workflow_dispatch'
strategy:
fail-fast: false
matrix:
openshift: [v3.11.0]
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Get SHA
id: quarkus-sha
run: |
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Download Maven repository
uses: actions/download-artifact@v5
with:
name: maven-repo
path: .
- name: Extract Maven repository
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- name: Set up OpenShift
uses: manusa/actions-setup-openshift@v1.1.5
with:
oc version: ${{ matrix.openshift }}
github token: ${{ secrets.GITHUB_TOKEN }}
- name: Quay login
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_QUARKUSCI_USERNAME }}
password: ${{ secrets.QUAY_QUARKUSCI_PASSWORD }}
- name: Run OpenShift Invoker Tests
run: |
export QUARKUS_CONTAINER_IMAGE_GROUP=quarkustesting
export QUARKUS_CONTAINER_IMAGE_TAG=${{ github.sha }}
export QUARKUS_CONTAINER_IMAGE_REGISTRY=quay.io
export QUARKUS_CONTAINER_IMAGE_USERNAME=${{ secrets.QUAY_QUARKUSCI_USERNAME }}
export QUARKUS_CONTAINER_IMAGE_PASSWORD=${{ secrets.QUAY_QUARKUSCI_PASSWORD }}
./mvnw ${MAVEN_ARGS} clean install -pl :quarkus-integration-test-kubernetes-invoker -De2e-tests -Dopenshift-e2e-tests
- name: Report status
if: always() && github.repository == 'quarkusio/quarkus'
uses: quarkusio/report-status-in-issue@main
with:
github-token: ${{ secrets.GITHUB_API_TOKEN }}
status: ${{ job.status }}
issue-repository: ${{ github.repository }}
issue-number: 26582
quarkus-sha: ${{ steps.quarkus-sha.outputs.sha }}
project-sha: ${{ steps.quarkus-sha.outputs.sha }}