This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/v3 by this push:
new dfaf16f6cda Revert "CAUSEWAY-2445: removes .github (CI)"
dfaf16f6cda is described below
commit dfaf16f6cdac6fd78ef19d2a5e7bb1690fe9265e
Author: andi-huber <[email protected]>
AuthorDate: Wed Jan 14 16:41:10 2026 +0100
Revert "CAUSEWAY-2445: removes .github (CI)"
This reverts commit ecec2164b2fa30b2f34346e5e0df5915a5609ab8.
---
.github/dependabot.yml | 69 ++++++++
.../workflows/ci-build-artifacts-no-push-maven.yml | 179 +++++++++++++++++++++
.../workflows/ci-build-artifacts-push-maven.yml | 110 +++++++++++++
.../workflows/ci-build-site-no-push.yml~disabled | 97 +++++++++++
4 files changed, 455 insertions(+)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000000..7a1bffc8c65
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,69 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+#
https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+
+ # Maintain dependencies for GitHub Actions
+ - package-ecosystem: "github-actions"
+ target-branch: "main"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+
+ # Maintain dependencies for Maven (v3 branch)
+ - package-ecosystem: "maven"
+ target-branch: "v3"
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "weekly"
+ # Allow up to 50 open pull requests for maven dependencies
+ open-pull-requests-limit: 50
+ # Use custom labels
+ labels:
+ - "dependencies"
+ - "Spring Boot 3.x"
+
+ # Maintain dependencies for Maven (v4 branch)
+ - package-ecosystem: "maven"
+ target-branch: "main"
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "weekly"
+ # Allow up to 50 open pull requests for maven dependencies
+ open-pull-requests-limit: 50
+ # Use custom labels
+ labels:
+ - "dependencies"
+ - "Spring Boot 4.x"
+
+
+# EOL ... Maintain dependencies for Maven (v2 branch)
+# - package-ecosystem: "maven"
+# target-branch: "v2"
+# directory: "/" # Location of package manifests
+# schedule:
+# interval: "weekly"
+# # Allow up to 50 open pull requests for maven dependencies
+# open-pull-requests-limit: 50
+# # Use custom labels
+# labels:
+# - "dependencies"
+# - "Spring Boot 2.x"
+# ignore:
+# - dependency-name: "org.springframework.boot*"
+# versions: ["3.x"]
+# - dependency-name: "jakarta.el:jakarta.el-api"
+# versions: ["4.x","5.x","6.x"]
+# - dependency-name: "org.apache.wicket*"
+# versions: ["10.x"]
+# - dependency-name: "org.wicketstuff*"
+# versions: ["10.x"]
+# - dependency-name: "org.apache.shiro*"
+# versions: ["2.x"]
+# - dependency-name:
"com.github.gavlyukovskiy:datasource-proxy-spring-boot-starter"
+# versions: ["1.9.x"]
+# - dependency-name: "de.agilecoders.wicket.webjars:wicket-webjars"
+# versions: ["4.x"]
diff --git a/.github/workflows/ci-build-artifacts-no-push-maven.yml
b/.github/workflows/ci-build-artifacts-no-push-maven.yml
new file mode 100644
index 00000000000..643e1eccf4d
--- /dev/null
+++ b/.github/workflows/ci-build-artifacts-no-push-maven.yml
@@ -0,0 +1,179 @@
+name: Build, Test (JDK 25)
+
+on:
+ push:
+ branches:
+ - main
+ - v3
+ pull_request:
+ branches:
+ - main
+ - v3
+
+jobs:
+ # This is a matrix build {'java', 'javascript'},
+ # where only the 'java' part triggers the Maven build,
+ # and only the 'javascript' part triggers the CodeQL autobuild.
+ # Those builds must run in between the "CodeQL: Initialize" and "CodeQL:
Perform Analysis" steps!
+ # CodeQL can be disabled via SKIP_CODE_QL: true
+ build:
+ name: build-local-no-push
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+ strategy:
+ matrix:
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript',
'python', 'ruby' ]
+ # Use only 'java' to analyze code written in Java, Kotlin or both
+ # Use only 'javascript' to analyze code written in JavaScript,
TypeScript or both
+ # Learn more about CodeQL language support at
https://aka.ms/codeql-docs/language-support
+ language: [ 'java', 'javascript' ]
+ env:
+ # to be shared among all steps of this job
+ BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
+ PROJECT_ROOT_PATH: ${{ github.workspace }}
+ CI_SCRIPTS_PATH: ${{ github.workspace }}/scripts/ci
+
+ # not used, would be nice if we could transform the TIMESTAMP string
into the REVISION
+ # variable here, but it seems github not yet has any string expression
manipulation
+ # operators other than concatination
+ TIMESTAMP: ${{ github.event.head_commit.timestamp }}
+
+ # set this to 'deploy' when intent is to push the built packages to a
repo
+ # requires 'secrets' which we don't have yet
+ MVN_STAGES: install
+
+ # options
+ # CodeQL action seems broken on JDK22, waiting for updates
+ SKIP_CODE_QL: true
+
+ steps:
+ - uses: actions/checkout@v5
+ - name: Print Branch Name
+ if: matrix.language == 'java'
+ run: |
+ echo BRANCH_NAME \: $BRANCH_NAME
+
+ - name: Set up JDK (zulu 25)
+ if: matrix.language == 'java'
+ uses: actions/setup-java@v5
+ with:
+ distribution: 'zulu'
+ java-version: 25
+
+ - name: Set up Maven (3.9.11)
+ if: matrix.language == 'java' && env.BRANCH_NAME == 'v3'
+ uses: stCarolas/setup-maven@v5
+ with:
+ maven-version: 3.9.11
+ - name: Set up Maven (4.0.0-rc-4)
+ if: matrix.language == 'java' && env.BRANCH_NAME == 'main'
+ uses: stCarolas/setup-maven@v5
+ with:
+ maven-version: 4.0.0-rc-4
+
+ - name: Print Maven Version
+ if: matrix.language == 'java'
+ run: mvn --version
+
+ - name: Activate Cache for Maven Downloads
+ if: matrix.language == 'java'
+ uses: actions/cache@v4
+ env:
+ # change the cache-name if we want to rebuild the cache
+ # can be reset via github action page
+ cache-name: maven-shared
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-${{ env.cache-name }}
+ restore-keys: |
+ ${{ runner.os }}-${{ env.cache-name }}
+ ${{ runner.os }}-
+
+ - name: Setup Script Environment
+ if: matrix.language == 'java'
+ shell: bash
+ run: |
+ echo ============== ENV =================
+ echo BRANCH_NAME \: $BRANCH_NAME
+ echo TIMESTAMP \: $TIMESTAMP
+ echo PROJECT_ROOT_PATH\: $PROJECT_ROOT_PATH
+ echo CI_SCRIPTS_PATH \: $CI_SCRIPTS_PATH
+ echo MVN_STAGES \: $MVN_STAGES
+ echo ======================================
+
+ # CodeQL Analysis
(https://codeql.github.com/docs/codeql-overview/about-codeql/)
+ - name: "CodeQL: Initialize"
+ if: env.SKIP_CODE_QL != 'true'
+ uses: github/codeql-action/init@v4
+ with:
+ languages: ${{ matrix.language }}
+
+ - name: Build Artifacts
+ if: matrix.language == 'java'
+ shell: bash
+ run: bash $CI_SCRIPTS_PATH/build-artifacts.sh
+ env:
+ # -Dmodule-all ... build all modules (default if all is well)
+ # -Dmodule-all-except-incubator ... build all modules except
'incubator'
+ # -Dmodule-all-except-kroviz ... build all modules except 'kroviz'
(eg. when kroviz build fails)
+ # -Dmaven.compiler.proc=full ... required to enable annotation
processing for javac since JDK23
+ # -Denforcer.failFast=true ... fail fast on convergence issues
(enforcer plugin)
+ # -Dmaven.source.skip=true ... no need for the CI build to pull sources
+ # -Dproject.build.outputTimestamp=2023-01-01T00:00:00Z see
https://maven.apache.org/guides/mini/guide-reproducible-builds.html
+ # -T 1C ... 1 build thread per core
+ # -DsonatypeOssDistMgmtStagingUrl ... workaround Eclipse Persistence
Parent POM (Version 4.0.7) issue
+ MVN_ADDITIONAL_OPTS: >-
+ -Dmodule-all
+ -Dmaven.compiler.proc=full
+ -Denforcer.failFast=true
+ -Dmaven.source.skip=true
+ -Dproject.build.outputTimestamp=2025-01-01T00:00:00Z
+
-DsonatypeOssDistMgmtStagingUrl=https://jakarta.oss.sonatype.org/content/repositories/staging/
+ -e
+
+ # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or
Java).
+ # If this step fails, then you should remove it and run the build manually
+ - name: "CodeQL: Autobuild"
+ if: env.SKIP_CODE_QL != 'true' && matrix.language == 'javascript'
+ uses: github/codeql-action/autobuild@v4
+
+ - name: "CodeQL: Perform Analysis"
+ if: env.SKIP_CODE_QL != 'true'
+ uses: github/codeql-action/analyze@v4
+ with:
+ category: "/language:${{matrix.language}}"
+
+
+# FOR DEBUG USE
+# - name: Dump GitHub context
+# env:
+# ENV_CONTEXT: ${{ toJson(env) }}
+# run: echo "$ENV_CONTEXT"
+# - name: Dump GitHub context
+# env:
+# GITHUB_CONTEXT: ${{ toJson(github) }}
+# run: echo "$GITHUB_CONTEXT"
+# - name: Dump job context
+# env:
+# JOB_CONTEXT: ${{ toJson(job) }}
+# run: echo "$JOB_CONTEXT"
+# - name: Dump steps context
+# env:
+# STEPS_CONTEXT: ${{ toJson(steps) }}
+# run: echo "$STEPS_CONTEXT"
+# - name: Dump runner context
+# env:
+# RUNNER_CONTEXT: ${{ toJson(runner) }}
+# run: echo "$RUNNER_CONTEXT"
+# - name: Dump strategy context
+# env:
+# STRATEGY_CONTEXT: ${{ toJson(strategy) }}
+# run: echo "$STRATEGY_CONTEXT"
+# - name: Dump matrix context
+# env:
+# MATRIX_CONTEXT: ${{ toJson(matrix) }}
+# run: echo "$MATRIX_CONTEXT"
+
diff --git a/.github/workflows/ci-build-artifacts-push-maven.yml
b/.github/workflows/ci-build-artifacts-push-maven.yml
new file mode 100644
index 00000000000..f6416982458
--- /dev/null
+++ b/.github/workflows/ci-build-artifacts-push-maven.yml
@@ -0,0 +1,110 @@
+name: Apache Causeway Weekly Build
+
+on:
+ workflow_dispatch:
+ schedule:
+ # daily 02:00 (UTC) on Sunday morning
+ - cron: '0 2 * * 0'
+
+jobs:
+ build:
+ name: build-local-push
+ runs-on: ubuntu-latest
+ env:
+ # to be shared among all steps of this job
+ PROJECT_ROOT_PATH: ${{ github.workspace }}
+ CI_SCRIPTS_PATH: ${{ github.workspace }}/scripts/ci
+
+ # not used, would be nice if we could transform the TIMESTAMP string
into the REVISION
+ # variable here, but it seems github not yet has any string expression
manipulation
+ # operators other than concatenation
+ TIMESTAMP: ${{ github.event.head_commit.timestamp }}
+
+ steps:
+ - uses: actions/checkout@v5
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v5
+ with:
+ distribution: 'zulu'
+ java-version: 11
+
+ - name: Find baseline from search.maven.org
+ id: calc-baseline
+ run: 'bash scripts/ci/calc-baseline.sh'
+
+ - name: Share $BASELINE as Environment Variable
+ run: echo "BASELINE=${{ steps.calc-baseline.outputs.baseline }}" >>
$GITHUB_ENV
+
+ - name: Calculate new $REVISION
+ id: revision
+ run: 'bash scripts/ci/calc-revision.sh'
+
+ - name: Share $REVISION as Environment Variable
+ run: echo "REVISION=${{ steps.revision.outputs.revision }}" >>
$GITHUB_ENV
+
+ - name: Dump Env context
+ env:
+ ENV_CONTEXT: ${{ toJson(env) }}
+ run: 'echo "$ENV_CONTEXT"'
+
+ - name: Dump GitHub context
+ env:
+ GITHUB_CONTEXT: ${{ toJson(github) }}
+ run: echo "$GITHUB_CONTEXT"
+
+ - name: Activate Cache for Maven Downloads
+ uses: actions/cache@v4
+ env:
+ # change the cache-name if we want to rebuild the cache
+ # can be reset via github action page
+ cache-name: maven-shared
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-${{ env.cache-name }}
+ restore-keys: |
+ ${{ runner.os }}-${{ env.cache-name }}
+ ${{ runner.os }}-
+
+# - name: Create GitHub Release
+# uses: actions/create-release@v1
+# env:
+# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+# with:
+# tag_name: ${{ env.REVISION }}
+# release_name: Release ${{ env.REVISION }}
+
+ - name: Build Artifacts (Github March 2022)
+ run: 'bash scripts/ci/build-artifacts.sh'
+ env:
+ # -Dgithub ... build only the released modules and deploy to github
packages
+ MVN_ADDITIONAL_OPTS: >-
+ -f bom/pom.xml
+ -Dgithub
+ GITHUB_TOKEN: ${{ github.token }}
+ MVN_STAGES: deploy
+ SOURCE_MODE: attach
+
+
+# FOR DEBUG USE
+# - name: Dump job context
+# env:
+# JOB_CONTEXT: ${{ toJson(job) }}
+# run: echo "$JOB_CONTEXT"
+# - name: Dump steps context
+# env:
+# STEPS_CONTEXT: ${{ toJson(steps) }}
+# run: echo "$STEPS_CONTEXT"
+# - name: Dump runner context
+# env:
+# RUNNER_CONTEXT: ${{ toJson(runner) }}
+# run: echo "$RUNNER_CONTEXT"
+# - name: Dump strategy context
+# env:
+# STRATEGY_CONTEXT: ${{ toJson(strategy) }}
+# run: echo "$STRATEGY_CONTEXT"
+# - name: Dump matrix context
+# env:
+# MATRIX_CONTEXT: ${{ toJson(matrix) }}
+# run: echo "$MATRIX_CONTEXT"
+
diff --git a/.github/workflows/ci-build-site-no-push.yml~disabled
b/.github/workflows/ci-build-site-no-push.yml~disabled
new file mode 100644
index 00000000000..f3b8b87120b
--- /dev/null
+++ b/.github/workflows/ci-build-site-no-push.yml~disabled
@@ -0,0 +1,97 @@
+name: Build Site (w/ Antora)
+
+on:
+ push:
+ branches:
+ - v3
+ pull_request:
+ branches:
+ - v3
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ name: build-local-no-push
+ runs-on: ubuntu-latest
+ env:
+ # to be shared among all steps of this job
+ BASELINE: 3.5.0-SNAPSHOT
+ PROJECT_ROOT_PATH: ${{ github.workspace }}
+ CI_SCRIPTS_PATH: ${{ github.workspace }}/scripts/ci
+ ANTORA_PLAYBOOKS_PATH: ${{ github.workspace }}/antora/playbooks
+
+ # used for printing
+ TIMESTAMP: ${{ github.event.head_commit.timestamp }}
+
+ # though equivalent, setting SHARED_VARS_FILE to ~/.env breaks the
build, not sure why
+ # the tilde character appears to produce strange side-effects when used
here
+ SHARED_VARS_FILE: /home/runner/.env
+
+ steps:
+ - uses: actions/checkout@v5
+
+ - name: Set up JDK 25
+ uses: actions/setup-java@v5
+ with:
+ distribution: 'zulu'
+ java-version: 25
+
+ - name: Setup Script Environment
+ shell: bash
+ # we write the more tricky variables to the $SHARED_VARS_FILE using the
full power of bash commands
+ # then we simply print all the (non-secret) variables as used by the
build scripts to the console
+ run: |
+ echo REVISION=$BASELINE.$(date +%Y%m%d)-$(date +%H%M)-$(echo
$GITHUB_SHA | cut -c1-8) > $SHARED_VARS_FILE
+ echo ============== ENV =================
+ echo BASELINE \: $BASELINE
+ echo TIMESTAMP \: $TIMESTAMP
+ echo PROJECT_ROOT_PATH \: $PROJECT_ROOT_PATH
+ echo CI_SCRIPTS_PATH \: $CI_SCRIPTS_PATH
+ echo ANTORA_PLAYBOOKS_PATH \: $ANTORA_PLAYBOOKS_PATH
+ echo REVISION \: $REVISION
+ cat $SHARED_VARS_FILE
+ echo ======================================
+
+
+ - name: Print Node Version
+ run: node --version
+
+ - name: Install NVM
+ shell: bash
+ run: bash $CI_SCRIPTS_PATH/install-nvm.sh
+
+ - name: Install Antora
+ shell: bash
+ working-directory: ${{ env.PROJECT_ROOT_PATH }}
+ # we install the 'node' modules into the project root under
'node_modules',
+ # because we have no privileges to install them globally with -g option
+ run: npm i @antora/cli@^3.1.10 @antora/site-generator-default@^3.1.10
asciidoctor-kroki
+
+ - name: List Versions of installed NPM Packages
+ shell: bash
+ working-directory: ${{ env.PROJECT_ROOT_PATH }}
+ run: npm list
+
+ - name: Setup Groovy
+ if: steps.revision.outputs.revision != 'skip'
+ run: |
+ sudo apt-get update
+ sudo apt-get -f install groovy
+
+ - name: Print Groovy Version
+ if: steps.revision.outputs.revision != 'skip'
+ shell: bash
+ run: groovy --version
+
+ - name: Build Apache Causeway Site
+ shell: bash
+ working-directory: ${{ env.PROJECT_ROOT_PATH }}
+ run: bash -x $CI_SCRIPTS_PATH/_build-site.sh
$ANTORA_PLAYBOOKS_PATH/site.yml
+ env:
+ REVISION: ${{ steps.revision.outputs.revision }}
+ SKIP_PROJDOC_GENERATION: true
+ SKIP_EXAMPLES: true
+ SKIP_CONFIGS: true
+ SKIP_STALE_EXAMPLE_CHECK: true