From c8fba026a9f8a378d7cca118f246a0ce4e718a4c Mon Sep 17 00:00:00 2001 From: tcezard Date: Wed, 17 Jun 2026 15:39:14 +0100 Subject: [PATCH 1/8] Switch to using jar instead of war --- Dockerfile | 6 +++--- pom.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 668d932..bdb1df6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,8 +42,8 @@ RUN groupadd -r seqcol && useradd -r -g seqcol seqcol # Create tmp directory for file downloads RUN mkdir -p /tmp && chown seqcol:seqcol /tmp -# Copy the WAR file from build stage -COPY --from=build /app/target/*.war app.war +# Copy the JAR file from build stage +COPY --from=build /app/target/*.jar app.jar # Copy service-info.json COPY --from=build /app/src/main/resources/static/service-info.json /app/service-info.json @@ -62,4 +62,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ # JVM options for containerized environments ENV JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -XX:+UseG1GC" -ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.war"] +ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] diff --git a/pom.xml b/pom.xml index 56e4ed4..e9a9874 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ uk.ac.ebi.eva eva-seqcol 0.0.1-SNAPSHOT - war + jar eva-seqcol eva-seqcol From 9d564bda888887322ab9a0b0b9b1cfa4aaf3a24e Mon Sep 17 00:00:00 2001 From: tcezard Date: Wed, 17 Jun 2026 15:46:44 +0100 Subject: [PATCH 2/8] Remove credentials injection at build time. credential will be needed at runtime. --- Dockerfile | 20 +---------------- pom.xml | 9 -------- src/main/resources/application.properties | 27 +++++++++++++---------- 3 files changed, 16 insertions(+), 40 deletions(-) diff --git a/Dockerfile b/Dockerfile index bdb1df6..76a1157 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,7 @@ -# Build stage +# Build stage - Build without embedding credentials FROM maven:3.8-eclipse-temurin-8 AS build WORKDIR /app -# Build arguments for Maven filtering (with defaults for Docker build) -ARG SERVER_IP=localhost -ARG POSTGRES_PORT=5432 -ARG ADMIN_USER=admin -ARG ADMIN_PASSWORD=admin -ARG DDL_BEHAVIOUR=update -ARG FTP_PROXY_HOST= -ARG FTP_PROXY_PORT= - -# Set as environment variables for Maven -ENV SERVER_IP=${SERVER_IP} \ - POSTGRES_PORT=${POSTGRES_PORT} \ - ADMIN_USER=${ADMIN_USER} \ - ADMIN_PASSWORD=${ADMIN_PASSWORD} \ - DDL_BEHAVIOUR=${DDL_BEHAVIOUR} \ - FTP_PROXY_HOST=${FTP_PROXY_HOST} \ - FTP_PROXY_PORT=${FTP_PROXY_PORT} - # Copy pom.xml first to leverage Docker cache for dependencies COPY pom.xml . RUN mvn dependency:go-offline -B diff --git a/pom.xml b/pom.xml index e9a9874..df4a318 100644 --- a/pom.xml +++ b/pom.xml @@ -226,15 +226,6 @@ seqcol seqcol - jdbc:postgresql://${env.SERVER_IP}:${env.POSTGRES_PORT}/seqcol_db - ${env.POSTGRES_USER} - ${env.POSTGRES_PASS} - ${env.DDL_BEHAVIOUR} - ${env.ADMIN_USER} - ${env.ADMIN_PASSWORD} - null - 0 - true true diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index a1bf4ff..045e1c3 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,30 +1,33 @@ -spring.profiles.active=@spring.profiles.active@ +spring.profiles.active=seqcol management.endpoints.web.exposure.include=info,health management.endpoints.web.base-path=/ management.info.git.mode=full logging.level.uk.ac.ebi.eva.contigalias=DEBUG -controller.auth.admin.username=@seqcol.admin-user@ -controller.auth.admin.password=@seqcol.admin-password@ - -# Database configuration -spring.datasource.url=@seqcol.db-url@ -spring.datasource.username=@seqcol.db-username@ -spring.datasource.password=@seqcol.db-password@ -spring.jpa.hibernate.ddl-auto=@seqcol.ddl-behaviour@ +# Database configuration (override with environment variables at runtime) +# spring.datasource.url=jdbc:postgresql://localhost:5432/seqcol_db +# spring.datasource.username=postgres +# spring.datasource.password=password spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.generate-ddl=true +spring.jpa.hibernate.ddl-auto=update + +# Admin credentials (override with environment variables at runtime) +# controller.auth.admin.username=admin +# controller.auth.admin.password=admin server.servlet.context-path=/eva/webservices/seqcol server.port=8081 -ftp.proxy.host=@ftp.proxy.host@ -ftp.proxy.port=@ftp.proxy.port@ +# FTP proxy settings (override with environment variables at runtime) +# ftp.proxy.host= +# ftp.proxy.port=0 -config.scaffolds.enabled=@contig-alias.scaffolds-enabled@ +# Scaffolds configuration (override with environment variables at runtime) +# config.scaffolds.enabled=true asm.file.download.dir=/tmp service.info.file.path=src/main/resources/static/service-info.json From 07c95d2f7b8dc797ea209eb13737759190a45e9e Mon Sep 17 00:00:00 2001 From: tcezard Date: Thu, 18 Jun 2026 00:00:02 +0100 Subject: [PATCH 3/8] Add gitlab ci to deploy to kubernetes --- .gitlab-ci.yml | 189 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..83ec2a9 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,189 @@ + +stages: + - build + - deploy + +variables: + DOCKER_REGISTRY: dockerhub.ebi.ac.uk + DOCKER_IMAGE: dockerhub.ebi.ac.uk/ebivariation/eva-seqcol + K8S_REPO_URL: https://github.com/EBIvariation/eva-k8s.git + +# REQUIRED GitLab CI/CD Variables (Global): +# DOCKER_REGISTRY_USER: Username for Docker registry authentication +# DOCKER_REGISTRY_PASSWORD: Password for Docker registry authentication +# K8S_REPO_DEPLOY_KEY: Base64-encoded SSH private key for cloning/pushing to eva-k8s GitHub repo +# +# DEVELOPMENT ENVIRONMENT VARIABLES (suffixed with _DEV): +# METADATA_DB_HOST_DEV: PostgreSQL host +# METADATA_DB_PORT_DEV: PostgreSQL port +# METADATA_DB_USER_DEV: PostgreSQL username +# METADATA_DB_PASSWORD_DEV: PostgreSQL password +# METADATA_DB_SPRING_DATASOURCE_URL_DEV: JDBC connection string +# SEQCOL_ADMIN_USER_DEV: Admin username +# SEQCOL_ADMIN_PASSWORD_DEV: Admin password +# KUBECONFIG_CONTENT_DEV: Base64-encoded kubeconfig for dev cluster +# +# PRODUCTION ENVIRONMENT VARIABLES (suffixed with _PROD): +# METADATA_DB_HOST_PROD: PostgreSQL host +# METADATA_DB_PORT_PROD: PostgreSQL port +# METADATA_DB_USER_PROD: PostgreSQL username +# METADATA_DB_PASSWORD_PROD: PostgreSQL password +# METADATA_DB_SPRING_DATASOURCE_URL_PROD: JDBC connection string +# SEQCOL_ADMIN_USER_PROD: Admin username +# SEQCOL_ADMIN_PASSWORD_PROD: Admin password +# KUBECONFIG_CONTENT_PROD: Base64-encoded kubeconfig for prod cluster + +# ============================================================================ +# Base Job Templates +# ============================================================================ + +.build_docker: + stage: build + image: docker:latest + services: + - docker:dind + variables: + DOCKER_DRIVER: overlay2 + DOCKER_TLS_CERTDIR: "/certs" + before_script: + - echo $DOCKER_REGISTRY_PASSWORD | docker login -u $DOCKER_REGISTRY_USER --password-stdin $DOCKER_REGISTRY + script: + - docker build -t $DOCKER_IMAGE:$IMAGE_TAG -t $DOCKER_IMAGE:$IMAGE_LATEST . + - docker push $DOCKER_IMAGE:$IMAGE_TAG + - docker push $DOCKER_IMAGE:$IMAGE_LATEST + - echo "IMAGE_TAG=$IMAGE_TAG" > build.env + artifacts: + reports: + dotenv: build.env + +.update_in_github: + stage: deploy + image: alpine/git:latest + before_script: + - apk add --no-cache bash curl + - mkdir -p ~/.ssh + - echo "$K8S_REPO_DEPLOY_KEY" | base64 -d > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts 2>/dev/null + - git config --global user.email "gitlab-ci@ebi.ac.uk" + - git config --global user.name "GitLab CI" + script: + - git clone --depth 1 git@github.com:EBIvariation/eva-k8s.git k8s-repo + - cd k8s-repo + - | + sed -i "s/newTag:.*/newTag: $IMAGE_TAG/" $K8S_MANIFEST_PATH/kustomization.yaml + grep "newTag:" $K8S_MANIFEST_PATH/kustomization.yaml + - git add $K8S_MANIFEST_PATH/kustomization.yaml + - git commit -m "chore: update eva-seqcol $ENV image tag to $IMAGE_TAG" + - git push origin main + +.deploy_to_cluster: + stage: deploy + image: alpine/k8s:latest + before_script: + - mkdir -p ~/.kube + - echo "$KUBECONFIG_CONTENT" | base64 -d > ~/.kube/config + - chmod 600 ~/.kube/config + # Generate secrets from CI variables into manifest path + - mkdir -p $K8S_MANIFEST_PATH + - printf "host=%s\nport=%s\nusername=%s\npassword=%s\n" "$DB_HOST" "$DB_PORT" "$DB_USER" "$DB_PASSWORD" > $K8S_MANIFEST_PATH/secrets-db.env + - printf "username=%s\npassword=%s\n" "$ADMIN_USER" "$ADMIN_PASSWORD" > $K8S_MANIFEST_PATH/secrets-admin.env + - printf "SPRING_DATASOURCE_URL=%s\nDDL_BEHAVIOUR=update\nSPRING_JPA_PROPERTIES_HIBERNATE_DEFAULT_SCHEMA=seqcol\nFTP_PROXY_HOST=%s\nFTP_PROXY_PORT=%s\nSCAFFOLDS_ENABLED=%s\n" "$SPRING_DATASOURCE_URL" "${FTP_PROXY_HOST:-}" "${FTP_PROXY_PORT:-0}" "${SCAFFOLDS_ENABLED:-true}" > $K8S_MANIFEST_PATH/config.env + script: + - kubectl apply -k $K8S_MANIFEST_PATH + - kubectl rollout status deployment/eva-seqcol -n $K8S_NAMESPACE --timeout=5m + environment: + kubernetes: + namespace: $K8S_NAMESPACE + +# ============================================================================ +# PRODUCTION: Deploy on git tags +# ============================================================================ + +build:docker:prod: + extends: .build_docker + variables: + IMAGE_TAG: $CI_COMMIT_TAG + IMAGE_LATEST: latest + only: + - tags + +update-in-github:prod: + extends: .update_in_github + needs: + - build:docker:prod + variables: + ENV: prod + K8S_MANIFEST_PATH: k8s-manifests/eva-seqcol/overlays/prod + environment: + name: prod + only: + - tags + +deploy-to-cluster:prod: + extends: .deploy_to_cluster + needs: + - update-in-github:prod + variables: + K8S_MANIFEST_PATH: k8s-manifests/eva-seqcol/overlays/prod + K8S_NAMESPACE: eva-seqcol-prod + # Production-specific environment variables + DB_HOST: $METADATA_DB_HOST_PROD + DB_PORT: $METADATA_DB_PORT_PROD + DB_USER: $METADATA_DB_USER_PROD + DB_PASSWORD: $METADATA_DB_PASSWORD_PROD + SPRING_DATASOURCE_URL: $METADATA_DB_SPRING_DATASOURCE_URL_PROD + ADMIN_USER: $SEQCOL_ADMIN_USER_PROD + ADMIN_PASSWORD: $SEQCOL_ADMIN_PASSWORD_PROD + KUBECONFIG_CONTENT: $KUBECONFIG_CONTENT_PROD + environment: + name: prod + only: + - tags + +# ============================================================================ +# DEVELOPMENT: Deploy on main branch (manual trigger) +# ============================================================================ + +build:docker:dev: + extends: .build_docker + variables: + IMAGE_TAG: dev-$CI_COMMIT_SHORT_SHA + IMAGE_LATEST: dev-latest + only: + - main + +update-in-github:dev: + extends: .update_in_github + needs: + - build:docker:dev + variables: + ENV: dev + K8S_MANIFEST_PATH: k8s-manifests/eva-seqcol/overlays/dev + environment: + name: dev + when: manual + only: + - main + +deploy-to-cluster:dev: + extends: .deploy_to_cluster + needs: + - update-in-github:dev + variables: + K8S_MANIFEST_PATH: k8s-manifests/eva-seqcol/overlays/dev + K8S_NAMESPACE: eva-seqcol-dev + # Development-specific environment variables + DB_HOST: $METADATA_DB_HOST_DEV + DB_PORT: $METADATA_DB_PORT_DEV + DB_USER: $METADATA_DB_USER_DEV + DB_PASSWORD: $METADATA_DB_PASSWORD_DEV + SPRING_DATASOURCE_URL: $METADATA_DB_SPRING_DATASOURCE_URL_DEV + ADMIN_USER: $SEQCOL_ADMIN_USER_DEV + ADMIN_PASSWORD: $SEQCOL_ADMIN_PASSWORD_DEV + KUBECONFIG_CONTENT: $KUBECONFIG_CONTENT_DEV + environment: + name: dev + when: manual + only: + - main From 58e3ba3e5a92b9eb05a692680bc6a9a6182f9106 Mon Sep 17 00:00:00 2001 From: tcezard Date: Thu, 18 Jun 2026 11:40:45 +0100 Subject: [PATCH 4/8] Add admin values for testing --- src/test/resources/application-test.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test/resources/application-test.properties b/src/test/resources/application-test.properties index 166fc87..91a0ea6 100644 --- a/src/test/resources/application-test.properties +++ b/src/test/resources/application-test.properties @@ -32,4 +32,8 @@ ftp.proxy.port=0 asm.file.download.dir=/tmp #Toggle scaffolds -config.scaffolds.enabled = true \ No newline at end of file +config.scaffolds.enabled = true + +# Admin credentials for testing +controller.auth.admin.username=admin +controller.auth.admin.password=admin \ No newline at end of file From 6e9a72e1ba06fc403ebba5a1f5b2f5d9f17f33d4 Mon Sep 17 00:00:00 2001 From: tcezard Date: Thu, 18 Jun 2026 16:54:38 +0100 Subject: [PATCH 5/8] re-instate maven filtering with default values --- pom.xml | 13 +----------- src/main/resources/application.properties | 26 +++++++++++------------ 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index df4a318..6d5f4e5 100644 --- a/pom.xml +++ b/pom.xml @@ -216,22 +216,11 @@ src/main/resources/ - true + false - - - seqcol - - seqcol - - - true - - - diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 045e1c3..7f944fe 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -6,28 +6,26 @@ management.info.git.mode=full logging.level.uk.ac.ebi.eva.contigalias=DEBUG -# Database configuration (override with environment variables at runtime) -# spring.datasource.url=jdbc:postgresql://localhost:5432/seqcol_db -# spring.datasource.username=postgres -# spring.datasource.password=password +# Admin credentials - override via environment variables +controller.auth.admin.username=${ADMIN_USER:admin} +controller.auth.admin.password=${ADMIN_PASSWORD:admin} + +# Database configuration - override via environment variables +spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/seqcol_db} +spring.datasource.username=${SPRING_DATASOURCE_USERNAME:postgres} +spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:password} +spring.jpa.hibernate.ddl-auto=${SPRING_JPA_HIBERNATE_DDL_AUTO:update} spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.generate-ddl=true -spring.jpa.hibernate.ddl-auto=update - -# Admin credentials (override with environment variables at runtime) -# controller.auth.admin.username=admin -# controller.auth.admin.password=admin server.servlet.context-path=/eva/webservices/seqcol server.port=8081 -# FTP proxy settings (override with environment variables at runtime) -# ftp.proxy.host= -# ftp.proxy.port=0 +ftp.proxy.host=${FTP_PROXY_HOST:} +ftp.proxy.port=${FTP_PROXY_PORT:0} -# Scaffolds configuration (override with environment variables at runtime) -# config.scaffolds.enabled=true +config.scaffolds.enabled=${SCAFFOLDS_ENABLED:true} asm.file.download.dir=/tmp service.info.file.path=src/main/resources/static/service-info.json From a28e57d796977a6df93fd1c116cde0fac4ab47a5 Mon Sep 17 00:00:00 2001 From: tcezard Date: Thu, 18 Jun 2026 22:37:43 +0100 Subject: [PATCH 6/8] Fix the tests --- .github/workflows/maven.yml | 42 +++++++++---------- .../evaseqcol/EvaSeqcolApplicationTests.java | 2 + .../datasource/NCBISeqColDataSourceTest.java | 2 +- .../eva/evaseqcol/datasource/RetryTest.java | 2 + .../utils/SeqColMapConverterTest.java | 2 + 5 files changed, 28 insertions(+), 22 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 1b562d6..fb878cd 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,5 +1,5 @@ # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven +# For more information see: https://docs.github.com/en/actions/automating-builds-and-testing-java-with-maven name: Java CI with Maven @@ -9,25 +9,12 @@ on: branches: ["main"] jobs: - build: - + unit-tests: + name: Unit Tests (H2 in-memory) runs-on: ubuntu-latest permissions: contents: read - services: - postgres: - image: postgres - env: - POSTGRES_USER: haroune - POSTGRES_PASSWORD: 123 - POSTGRES_DB: seqcol_db - ports: - # will assign a random free host port - - 5432/tcp - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - steps: - uses: actions/checkout@v3 - name: Set up JDK 8 @@ -36,9 +23,22 @@ jobs: java-version: '8' distribution: 'temurin' cache: maven - - name: Build with Maven - run: mvn -B package --file pom.xml + - name: Run Unit Tests + run: mvn -B clean test --file pom.xml -Dtest='!*IntegrationTest' - env: - ADMIN_USER: test - ADMIN_PASSWORD: test + integration-tests: + name: Integration Tests (Docker/Testcontainers) + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: 'temurin' + cache: maven + - name: Run Integration Tests + run: mvn -B clean test --file pom.xml -Dtest='*IntegrationTest' diff --git a/src/test/java/uk/ac/ebi/eva/evaseqcol/EvaSeqcolApplicationTests.java b/src/test/java/uk/ac/ebi/eva/evaseqcol/EvaSeqcolApplicationTests.java index 72fa247..1758f8a 100644 --- a/src/test/java/uk/ac/ebi/eva/evaseqcol/EvaSeqcolApplicationTests.java +++ b/src/test/java/uk/ac/ebi/eva/evaseqcol/EvaSeqcolApplicationTests.java @@ -2,9 +2,11 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; @SpringBootTest +@ActiveProfiles("test") class EvaSeqcolApplicationTests { @Test diff --git a/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/NCBISeqColDataSourceTest.java b/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/NCBISeqColDataSourceTest.java index 10493aa..9f104c6 100644 --- a/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/NCBISeqColDataSourceTest.java +++ b/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/NCBISeqColDataSourceTest.java @@ -18,7 +18,7 @@ import static org.junit.jupiter.api.Assertions.*; @SpringBootTest -@ActiveProfiles("seqcol") +@ActiveProfiles("test") class NCBISeqColDataSourceTest { private final String GCA_ACCESSION = "GCA_000146045.2"; diff --git a/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/RetryTest.java b/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/RetryTest.java index a0303b3..ef42a12 100644 --- a/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/RetryTest.java +++ b/src/test/java/uk/ac/ebi/eva/evaseqcol/datasource/RetryTest.java @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.retry.annotation.EnableRetry; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import uk.ac.ebi.eva.evaseqcol.dus.NCBIBrowser; @@ -28,6 +29,7 @@ @EnableRetry @TestPropertySource("classpath:application-test.properties") @SpringBootTest +@ActiveProfiles("test") public class RetryTest { @Mock NCBIBrowser ncbiBrowser; diff --git a/src/test/java/uk/ac/ebi/eva/evaseqcol/utils/SeqColMapConverterTest.java b/src/test/java/uk/ac/ebi/eva/evaseqcol/utils/SeqColMapConverterTest.java index 317b6e1..c93994f 100644 --- a/src/test/java/uk/ac/ebi/eva/evaseqcol/utils/SeqColMapConverterTest.java +++ b/src/test/java/uk/ac/ebi/eva/evaseqcol/utils/SeqColMapConverterTest.java @@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import uk.ac.ebi.eva.evaseqcol.entities.SeqColLevelOneEntity; import uk.ac.ebi.eva.evaseqcol.entities.SeqColLevelTwoEntity; @@ -16,6 +17,7 @@ import static org.junit.jupiter.api.Assertions.*; @SpringBootTest +@ActiveProfiles("test") class SeqColMapConverterTest { private SeqColMapConverter seqColMapConverter = new SeqColMapConverter(); From f5ef15b1c1c00aa76176e98bf78a651e47538b70 Mon Sep 17 00:00:00 2001 From: tcezard Date: Fri, 19 Jun 2026 10:30:35 +0100 Subject: [PATCH 7/8] Remove seqcol profile --- src/main/resources/application.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7f944fe..c8f2403 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,4 @@ -spring.profiles.active=seqcol management.endpoints.web.exposure.include=info,health management.endpoints.web.base-path=/ management.info.git.mode=full From 08254cb29bbb1caf7a16c9fe7dbad74cc616830d Mon Sep 17 00:00:00 2001 From: tcezard Date: Tue, 23 Jun 2026 13:41:32 +0100 Subject: [PATCH 8/8] Address review comments --- .github/workflows/maven.yml | 3 --- pom.xml | 6 ------ 2 files changed, 9 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index fb878cd..c71c708 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,6 +1,3 @@ -# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-testing-java-with-maven - name: Java CI with Maven on: diff --git a/pom.xml b/pom.xml index 6d5f4e5..81f168c 100644 --- a/pom.xml +++ b/pom.xml @@ -213,12 +213,6 @@ - - - src/main/resources/ - false - -