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

Reply via email to