Skip to content

Merge branch 'master' of github.com:apereo/cas #5728

Merge branch 'master' of github.com:apereo/cas

Merge branch 'master' of github.com:apereo/cas #5728

Workflow file for this run

name: Validation
env:
JAVA_OPTS: "-Xms512m -Xmx6048m -Xss128m -XX:ReservedCodeCacheSize=512m -server"
GRADLE_OPTS: "-Xms512m -Xmx6048m -Xss128m -XX:ReservedCodeCacheSize=512m -server"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_PACKAGE_REGISTRY_USER: ${{ secrets.GH_PACKAGE_REGISTRY_USER }}
GH_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GH_PACKAGE_REGISTRY_TOKEN }}
# GRADLE_BUILDCACHE_USER: ci
# GRADLE_BUILDCACHE_PSW: ${{ secrets.GRADLE_BUILDCACHE_PSW }}
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
TERM: xterm-256color
JDK_CURRENT: 21
JDK_LATEST: 23
RETRY_ATTEMPTS: 2
JDK_DISTRIBUTION: "corretto"
##########################################################################
on:
workflow_dispatch:
push:
branches:
- master
- '!**.**.**'
- '!heroku-*'
pull_request:
types: [ labeled ]
branches: [ master, pr-* ]
concurrency:
group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}"
cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'apereo/cas' }}
##########################################################################
jobs:
trigger-ci:
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'CI')) && !contains(github.event.pull_request.labels.*.name, 'Renovate') && !contains(github.event.head_commit.message, 'trigger dependency update') && !contains(github.event.head_commit.message, 'documentation update') }}
runs-on: ubuntu-latest
steps:
- name: Trigger CI
run: echo "CI Triggered"
##########################################################################
initialize:
needs: [trigger-ci]
runs-on: ubuntu-latest
outputs:
JDK_CURRENT: ${{ env.JDK_CURRENT }}
JDK_LATEST: ${{ env.JDK_LATEST }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ env.JDK_CURRENT }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: ls ./ci && find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
##########################################################################
validate-javadocs:
runs-on: ubuntu-latest
needs: [initialize]
continue-on-error: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ env.JDK_CURRENT }}
uses: actions/setup-java@v4
with:
java-version: ${{ env.JDK_CURRENT }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
- name: Validate Javadocs
run: ./gradlew --build-cache --configure-on-demand --no-daemon --parallel javadoc -x test -x check -DskipNestedConfigMetadataGen=true --parallel --max-workers=8 --no-configuration-cache
##########################################################################
validate-commandline-shell:
runs-on: ubuntu-latest
needs: [initialize]
continue-on-error: false
strategy:
fail-fast: false
matrix:
jdk:
- ${{ needs.initialize.outputs.JDK_CURRENT }}
- ${{ needs.initialize.outputs.JDK_LATEST }}
name: commandline shell - JDK ${{ matrix.jdk }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
- name: Validate CAS Command-line Shell - JDK ${{ matrix.jdk }}
timeout-minutes: 10
run: |
chmod -R +x ./ci/tests/shell/run-shell.sh && ./ci/tests/shell/run-shell.sh
echo "Checking for stack traces in output that would indicate an error"
cat cas-shell.out
count=$(grep -c -e ".*\(Exception\|Throwable\|caused\\sby\).*" cas-shell.out || true);
test $count -eq 0
##########################################################################
validate-webapp-embedded:
runs-on: ubuntu-latest
needs: [initialize]
continue-on-error: false
strategy:
fail-fast: false
matrix:
jdk:
- ${{ needs.initialize.outputs.JDK_CURRENT }}
- ${{ needs.initialize.outputs.JDK_LATEST }}
category:
- tomcat
- jetty
- undertow
name: embedded - JDK ${{ matrix.jdk }} - ${{ matrix.category }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
- name: Validate ${{ matrix.category }}
uses: nick-fields/retry@v3
with:
max_attempts: ${{ env.RETRY_ATTEMPTS }}
retry_on: error
retry_wait_seconds: 5
timeout_minutes: 15
shell: bash
command: ./ci/tests/webapp/validate-embedded-webapp.sh ${{ matrix.category }}
##########################################################################
validate-webapp-external:
runs-on: ubuntu-latest
needs: [initialize]
continue-on-error: false
strategy:
fail-fast: false
matrix:
jdk:
- ${{ needs.initialize.outputs.JDK_CURRENT }}
- ${{ needs.initialize.outputs.JDK_LATEST }}
category:
- cas-server
- config-server
name: ${{ matrix.category }} with external tomcat - JDK ${{ matrix.jdk }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
- name: Validate ${{ matrix.category }}
uses: nick-fields/retry@v3
with:
max_attempts: ${{ env.RETRY_ATTEMPTS }}
retry_on: error
retry_wait_seconds: 5
timeout_minutes: 15
shell: bash
command: ./ci/tests/webapp/validate-external-webapp.sh ${{ matrix.category }}
##########################################################################
validate-spring-cloud-config-server:
runs-on: ubuntu-latest
needs: [initialize]
continue-on-error: false
strategy:
fail-fast: false
matrix:
jdk:
- ${{ needs.initialize.outputs.JDK_CURRENT }}
- ${{ needs.initialize.outputs.JDK_LATEST }}
name: spring cloud config server - JDK ${{ matrix.jdk }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: ${{ env.JDK_DISTRIBUTION }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Initialize
run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh
- name: Validate Spring Cloud Config Server - JDK ${{ matrix.jdk }}
uses: nick-fields/retry@v3
with:
max_attempts: ${{ env.RETRY_ATTEMPTS }}
retry_on: error
retry_wait_seconds: 5
timeout_minutes: 15
shell: bash
command: ./ci/tests/webapp/validate-configserver-webapp.sh