diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index a74e60d7f2..612d3ce840 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.test.outputs.cache_key }} secrets: inherit deploy-docker: diff --git a/.github/workflows/manual-test.yml b/.github/workflows/manual-test.yml index 9c0ccc7085..9a91127df1 100644 --- a/.github/workflows/manual-test.yml +++ b/.github/workflows/manual-test.yml @@ -12,11 +12,26 @@ 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: + 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 +49,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 df05997b60..72dead2777 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 69003092a0..a159901555 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,12 +11,15 @@ 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 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 bf0f7bb12d..0000000000 --- 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 903cf0d0b5..c84eaca37b 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 7725528041..dca57470e4 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -2,14 +2,34 @@ name: Build and test the project on: workflow_call: + inputs: + upload_artifact: + 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 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 +46,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/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 22b93d33bd..a73a6f5697 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(List1.13 2.3.3 19.0 - 1.9.1 + 1.11.4 1.3 2.23.0 1.48.0