Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build-biosamples-service.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ jobs:
- name: Build Docker image
uses: docker/build-push-action@v6
with:
context: repository-services
context: repository-services/isajson-biosamples
file: repository-services/isajson-biosamples/Dockerfile
push: false
tags: user/app:latest
build-args: |
GPR_USER=${{ secrets.GPR_USER }}
GPR_TOKEN=${{ secrets.GPR_TOKEN }}
14 changes: 10 additions & 4 deletions repository-services/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
services:
isa_biosamples:
build:
context: .
dockerfile: isajson-biosamples/Dockerfile
context: ./isajson-biosamples
dockerfile: Dockerfile
args:
GPR_USER: ${GPR_USER}
GPR_TOKEN: ${GPR_TOKEN}
ports:
- "8032:8032"
restart: unless-stopped

isa_sra:
build:
context: .
dockerfile: isajson-ena/Dockerfile
context: ./isajson-ena
dockerfile: Dockerfile
args:
GPR_USER: ${GPR_USER}
GPR_TOKEN: ${GPR_TOKEN}
ports:
- "8042:8042"
restart: unless-stopped
Expand Down
36 changes: 23 additions & 13 deletions repository-services/isajson-biosamples/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
# Builder stage: Use gradle image to compile jar file
# Builder stage
FROM gradle:jdk11 AS builder

WORKDIR /app

# Copy everything from context (the service folder)
COPY . .

WORKDIR /app/receipt
RUN ./gradlew build
RUN ./gradlew publishToMavenLocal
ARG GPR_USER
ARG GPR_TOKEN

Check warning on line 10 in repository-services/isajson-biosamples/Dockerfile

View workflow job for this annotation

GitHub Actions / build

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "GPR_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 10 in repository-services/isajson-biosamples/Dockerfile

View workflow job for this annotation

GitHub Actions / build

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "GPR_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

WORKDIR /app/isajson-biosamples
RUN ./gradlew build -x test -x spotlessApply --info --stacktrace "-Dorg.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"
# Make gradlew executable
RUN chmod +x gradlew
# Build the JAR
RUN mkdir -p /root/.gradle && \
echo "gpr.user=${GPR_USER}" >> /root/.gradle/gradle.properties && \
echo "gpr.token=${GPR_TOKEN}" >> /root/.gradle/gradle.properties && \
./gradlew build -x test -x spotlessApply --info --stacktrace \
"-Dorg.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"

# Use a lightweight base image to run the jar file
FROM openjdk:11-jre-slim
WORKDIR /app

ARG JAR_FILE=/app/isajson-biosamples/build/libs/*.jar
# Runtime stage
FROM eclipse-temurin:11-jre-alpine

WORKDIR /app

# Copy the JAR file from the builder stage
COPY --from=builder ${JAR_FILE} app.jar
# Copy the built JAR
COPY --from=builder /app/build/libs/*.jar app.jar

# Set the entry point for the application
ENTRYPOINT ["java", "-jar", "app.jar"]


11 changes: 9 additions & 2 deletions repository-services/isajson-biosamples/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ group = 'com.elixir.biohackaton'
version = '0.0.1-SNAPSHOT'

repositories {
maven {
url = uri("https://maven.pkg.github.com/elixir-europe/mars-repository-lib")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("GPR_USER")
password = project.findProperty("gpr.token") ?: System.getenv("GPR_TOKEN")
}
}
mavenLocal()
mavenCentral()
}
Expand All @@ -27,8 +34,8 @@ dependencies {
implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'
implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5'
implementation group: 'dom4j', name: 'dom4j', version: '1.6.1'
implementation group: 'com.elixir.biohackaton', name: 'mars-receipt', version: '0.0.1'

implementation 'com.elixir.mars:mars-repository:0.0.1'

compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import com.elixir.biohackaton.ISAToSRA.biosamples.model.BiosampleAccessionsMap;
import com.elixir.biohackaton.ISAToSRA.biosamples.service.BioSamplesSubmitter;
import com.elixir.biohackaton.ISAToSRA.biosamples.service.MarsReceiptService;
import com.elixir.biohackaton.ISAToSRA.receipt.MarsReceiptException;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.IsaJson;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Study;
import com.elixir.mars.repository.MarsReceiptException;
import com.elixir.mars.repository.models.isa.IsaJson;
import com.elixir.mars.repository.models.isa.Study;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.elixir.biohackaton.ISAToSRA.biosamples.model;

import com.elixir.biohackaton.ISAToSRA.receipt.ReceiptAccessionsMap;
import com.elixir.mars.repository.ReceiptAccessionsMap;

public class BiosampleAccessionsMap {
public ReceiptAccessionsMap sourceAccessionsMap = new ReceiptAccessionsMap();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@
import com.elixir.biohackaton.ISAToSRA.biosamples.model.BioSample;
import com.elixir.biohackaton.ISAToSRA.biosamples.model.BiosampleAccessionsMap;
import com.elixir.biohackaton.ISAToSRA.biosamples.model.Relationship;
import com.elixir.biohackaton.ISAToSRA.receipt.MarsReceiptException;
import com.elixir.biohackaton.ISAToSRA.receipt.ReceiptAccessionsMap;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Category;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Characteristic;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Sample;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Source;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Study;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.Value;
import com.elixir.mars.repository.MarsReceiptException;
import com.elixir.mars.repository.ReceiptAccessionsMap;
import com.elixir.mars.repository.models.isa.Category;
import com.elixir.mars.repository.models.isa.Characteristic;
import com.elixir.mars.repository.models.isa.Sample;
import com.elixir.mars.repository.models.isa.Source;
import com.elixir.mars.repository.models.isa.Study;
import com.elixir.mars.repository.models.isa.Value;

import lombok.extern.slf4j.Slf4j;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import org.springframework.web.servlet.HandlerInterceptor;

import com.elixir.biohackaton.ISAToSRA.biosamples.model.BiosampleAccessionsMap;
import com.elixir.biohackaton.ISAToSRA.receipt.MarsReceiptProvider;
import com.elixir.biohackaton.ISAToSRA.receipt.isamodel.IsaJson;
import com.elixir.biohackaton.ISAToSRA.receipt.marsmodel.MarsError;
import com.elixir.biohackaton.ISAToSRA.receipt.marsmodel.MarsErrorType;
import com.elixir.mars.repository.MarsReceiptProvider;
import com.elixir.mars.repository.models.isa.IsaJson;
import com.elixir.mars.repository.models.receipt.MarsError;
import com.elixir.mars.repository.models.receipt.MarsErrorType;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading