From f1590715889896ec36b0c86ee10dd124705a76ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 22 Oct 2025 22:30:20 +0100 Subject: [PATCH 1/6] pom: Upgrade avro version from 1.9.1 to 1.11.4 #TASK-7809 #TASK-7962 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 43ff005de..9749b8cb4 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ 1.13 2.3.3 19.0 - 1.9.1 + 1.11.4 1.3 2.23.0 1.48.0 From b8bb7f44db0b3c85522b36e3757d268a649d8417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 7 Nov 2025 12:44:52 +0000 Subject: [PATCH 2/6] cicd: Update workflows. #TASK-7809 --- .github/workflows/develop.yml | 9 ++---- .github/workflows/manual-test.yml | 27 ++++++++++------ .github/workflows/pull-request-approved.yml | 4 ++- .github/workflows/release.yml | 1 + .github/workflows/scripts/get_same_branch.sh | 29 ----------------- .github/workflows/task.yml | 8 ++--- .github/workflows/test-analysis.yml | 33 ++++++++++++++------ 7 files changed, 51 insertions(+), 60 deletions(-) delete mode 100644 .github/workflows/scripts/get_same_branch.sh diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index a74e60d7f..63841a465 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -8,21 +8,18 @@ on: workflow_dispatch: jobs: - build: - uses: opencb/java-common-libs/.github/workflows/build-java-app-workflow.yml@develop - with: - maven_opts: -DCELLBASE.WAR.NAME=cellbase -P default-config-test - test: uses: ./.github/workflows/test-analysis.yml - needs: build secrets: inherit + with: + upload_artifact: true deploy-maven: uses: opencb/java-common-libs/.github/workflows/deploy-maven-repository-workflow.yml@develop needs: test with: maven_opts: -Dcheckstyle.skip -DCELLBASE.WAR.NAME=cellbase + cache_key: ${{ needs.build.outputs.cache_key }} secrets: inherit deploy-docker: diff --git a/.github/workflows/manual-test.yml b/.github/workflows/manual-test.yml index 9c0ccc708..7c1bd46a4 100644 --- a/.github/workflows/manual-test.yml +++ b/.github/workflows/manual-test.yml @@ -14,9 +14,19 @@ on: required: false jobs: + build: + uses: opencb/java-common-libs/.github/workflows/build-java-app-workflow.yml@develop + with: + needs_hadoop_preparation: false + maven_opts: -Dcheckstyle.skip + upload_artifact: ${{ inputs.upload_artifact }} + dependency_repos: "java-common-libs,biodata" + secrets: inherit + test: name: JUnit Test - runs-on: ubuntu-22.04 + needs: build + runs-on: ${{ vars.UBUNTU_VERSION }} steps: - uses: actions/checkout@v4 with: @@ -34,14 +44,13 @@ jobs: chmod +x ./kubectl echo "${{ secrets.AZURE_KUBE_CONFIG }}" > admin.conf ./kubectl -n cellbase-db port-forward services/cellbase-rs0-svc 27017:27017 --kubeconfig ./admin.conf & - - name: Install dependencies branches - run: | - if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then - chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} - else - echo "./.github/workflows/scripts/get_same_branch.sh does not exist." - fi + - name: Cache local Maven repository + uses: actions/cache/restore@v4 + with: + path: ~/.m2/repository + key: ${{ needs.build.outputs.cache_key }} + ## Force cache hit to avoid testing with incomplete dependencies + fail-on-cache-miss: true - name: Test and Analyze env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any diff --git a/.github/workflows/pull-request-approved.yml b/.github/workflows/pull-request-approved.yml index df05997b6..72dead277 100644 --- a/.github/workflows/pull-request-approved.yml +++ b/.github/workflows/pull-request-approved.yml @@ -8,4 +8,6 @@ on: jobs: test: uses: ./.github/workflows/test-analysis.yml - secrets: inherit \ No newline at end of file + secrets: inherit + with: + upload_artifact: false \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 69003092a..6e667c092 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,7 @@ jobs: needs: build with: maven_opts: -Dcheckstyle.skip -DCELLBASE.WAR.NAME=cellbase + cache_key: ${{ needs.build.outputs.cache_key }} secrets: inherit deploy-docker: diff --git a/.github/workflows/scripts/get_same_branch.sh b/.github/workflows/scripts/get_same_branch.sh deleted file mode 100644 index bf0f7bb12..000000000 --- a/.github/workflows/scripts/get_same_branch.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -BRANCH_NAME=$1 - -if [[ -z $BRANCH_NAME ]]; then - echo "The first parameter is mandatory and must be a valid branch name." - exit 1 -fi - -if [[ $BRANCH_NAME != "TASK-"* ]]; then - echo "No need to check dependencies." - exit 0 -fi - -function install(){ - local REPO=$1 - cd /home/runner/work/ || exit 2 - git clone https://github.com/opencb/"$REPO".git -b "$BRANCH_NAME" - if [ -d "./$REPO" ]; then - cd "$REPO" || exit 2 - echo "Branch name $BRANCH_NAME already exists." - mvn clean install -DskipTests - else - echo "$CURRENT Branch is NOT EQUALS $BRANCH_NAME " - fi -} - -install "java-common-libs" -install "biodata" diff --git a/.github/workflows/task.yml b/.github/workflows/task.yml index 903cf0d0b..c84eaca37 100644 --- a/.github/workflows/task.yml +++ b/.github/workflows/task.yml @@ -7,15 +7,11 @@ on: workflow_dispatch: jobs: - build: - uses: opencb/java-common-libs/.github/workflows/build-java-app-workflow.yml@develop - with: - maven_opts: -DCELLBASE.WAR.NAME=cellbase -P default-config-test - test: uses: ./.github/workflows/test-analysis.yml - needs: build secrets: inherit + with: + upload_artifact: true deploy-docker: uses: opencb/java-common-libs/.github/workflows/deploy-docker-hub-workflow.yml@develop diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 772552804..a6f1985ee 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -2,14 +2,30 @@ name: Build and test the project on: workflow_call: + inputs: + upload_artifact: + type: boolean + required: false + default: false secrets: SONAR_TOKEN: required: true jobs: + + build: + uses: opencb/java-common-libs/.github/workflows/build-java-app-workflow.yml@develop + with: + needs_hadoop_preparation: false + maven_opts: -Dcheckstyle.skip + upload_artifact: ${{ inputs.upload_artifact }} + dependency_repos: "java-common-libs,biodata" + secrets: inherit + test: name: Test and push Sonar analysis - runs-on: ubuntu-22.04 + needs: build + runs-on: ${{ vars.UBUNTU_VERSION }} steps: - uses: actions/checkout@v4 with: @@ -26,14 +42,13 @@ jobs: chmod +x ./kubectl echo "${{ secrets.AZURE_KUBE_CONFIG }}" > admin.conf ./kubectl -n cellbase-db port-forward services/cellbase-rs0-svc 27017:27017 --kubeconfig ./admin.conf & - - name: Install dependencies branches - run: | - if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then - chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} - else - echo "./.github/workflows/scripts/get_same_branch.sh does not exist." - fi + - name: Cache local Maven repository + uses: actions/cache/restore@v4 + with: + path: ~/.m2/repository + key: ${{ needs.build.outputs.cache_key }} + ## Force cache hit to avoid testing with incomplete dependencies + fail-on-cache-miss: true - name: Test and Analyze env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any From ccb6133f2b3d425614aea5dfcf7c6af0a2c46a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 7 Nov 2025 15:05:43 +0000 Subject: [PATCH 3/6] cicd: Add missing cache_key output to test-analysis.yml #TASK-7809 --- .github/workflows/develop.yml | 2 +- .github/workflows/test-analysis.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 63841a465..612d3ce84 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -19,7 +19,7 @@ jobs: needs: test with: maven_opts: -Dcheckstyle.skip -DCELLBASE.WAR.NAME=cellbase - cache_key: ${{ needs.build.outputs.cache_key }} + cache_key: ${{ needs.test.outputs.cache_key }} secrets: inherit deploy-docker: diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index a6f1985ee..dca57470e 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -7,6 +7,10 @@ on: type: boolean required: false default: false + outputs: + cache_key: + description: "Cache key used for Maven repository" + value: ${{ jobs.build.outputs.cache_key }} secrets: SONAR_TOKEN: required: true From d9f53a78e5a14124d2b3f360e94f2066bdfd3a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 7 Nov 2025 15:35:04 +0000 Subject: [PATCH 4/6] cicd: Add missing input param "upload_artifacts" #TASK-7809 --- .github/workflows/manual-test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/manual-test.yml b/.github/workflows/manual-test.yml index 7c1bd46a4..9a91127df 100644 --- a/.github/workflows/manual-test.yml +++ b/.github/workflows/manual-test.yml @@ -12,6 +12,11 @@ on: description: 'The process executes all tests even if some fail.' default: false required: false + upload_artifact: + type: boolean + description: 'Upload build artifact.' + default: false + required: false jobs: build: From 6ef97faebd062b9a894dd64ff72a23628e421cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 7 Nov 2025 15:37:58 +0000 Subject: [PATCH 5/6] cicd: Add missing dependency_repos. #TASK-7809 --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6e667c092..a15990155 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,8 @@ jobs: uses: opencb/java-common-libs/.github/workflows/build-java-app-workflow.yml@develop with: maven_opts: -DCELLBASE.WAR.NAME=cellbase + dependency_repos: "java-common-libs,biodata" + upload_artifact: true deploy-maven: uses: opencb/java-common-libs/.github/workflows/deploy-maven-repository-workflow.yml@develop From c204863c4efd5009cb0e7825ce8ebf4578ff14b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Mon, 10 Nov 2025 12:18:25 +0000 Subject: [PATCH 6/6] lib: Fix avro native types check. #TASK-7809 --- .../app/cli/VariantAnnotationCommandExecutorTest.java | 4 ++-- .../cellbase/lib/impl/core/VariantMongoDBAdaptorTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cellbase-app/src/test/java/org/opencb/cellbase/app/cli/VariantAnnotationCommandExecutorTest.java b/cellbase-app/src/test/java/org/opencb/cellbase/app/cli/VariantAnnotationCommandExecutorTest.java index 22b93d33b..a73a6f569 100644 --- a/cellbase-app/src/test/java/org/opencb/cellbase/app/cli/VariantAnnotationCommandExecutorTest.java +++ b/cellbase-app/src/test/java/org/opencb/cellbase/app/cli/VariantAnnotationCommandExecutorTest.java @@ -857,8 +857,8 @@ private List getPopulationFrequency(List getPopulationFrequency(List