diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..f087b429 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.tar.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 70e22f87..328dea92 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,6 +3,9 @@ name: Build & publish zooma images on: push: branches: [ "dev", "stable" ] + pull_request: + branches: + - dev env: REGISTRY: ghcr.io @@ -17,6 +20,11 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 + with: + lfs: true + + - name: Pull Git LFS files + run: git lfs pull - name: Log in to the Container registry uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 @@ -28,5 +36,10 @@ jobs: - name: Build and push zooma Docker image run: | docker build -t ghcr.io/ebispot/zooma:${{ github.sha }} . - docker tag ghcr.io/ebispot/zooma:${{ github.sha }} ghcr.io/ebispot/zooma:${{ github.ref_name }} + if [[ "${{ github.event_name }}" == "pull_request" ]]; then + TAG="PR-${{ github.event.pull_request.number }}" + else + TAG="${{ github.ref_name }}" + fi + docker tag ghcr.io/ebispot/zooma:${{ github.sha }} ghcr.io/ebispot/zooma:${TAG} docker push --all-tags ghcr.io/ebispot/zooma diff --git a/Dockerfile b/Dockerfile index 0c2b42c5..9ff21471 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,16 +6,22 @@ ENV ZOOMA_OPTS="-Xms1g -Xmx4g" RUN mkdir /opt/zooma_github /opt/zooma RUN apt-get update && apt-get install -y nano maven COPY . /opt/zooma_github/ + +RUN rm -rf /root/.m2/ +RUN tar -xvzf /opt/zooma_github/ols-client/lib/m2directory.tar.gz -C /root/ + ENV OJDBC6="https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/utilities_drivers/jdbc/11204/ojdbc6.jar" RUN wget $OJDBC6 -O /lib/ojdbc6.jar \ && mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.4 -Dfile=/lib/ojdbc6.jar \ && test /root/.m2/repository/com/oracle/ojdbc6/11.2.0.4/ojdbc6-11.2.0.4.jar + RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-lodestar/lib/jena-core-2.12.0.jar -DgroupId=org.apache.jena -DartifactId=jena-core -Dversion=2.12.0 RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-lodestar/lib/jena-arq-2.12.0.jar -DgroupId=org.apache.jena -DartifactId=jena-arq -Dversion=2.12.0 RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-lodestar/lib/lode-core-api-1.3.jar -DgroupId=ebi-lode -DartifactId=lode-core-api -Dversion=1.3 RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-lodestar/lib/lode-virtuoso-impl-1.3.jar -DgroupId=ebi-lode -DartifactId=lode-virtuoso-impl -Dversion=1.3 RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-ui/lib/jackson-mapper-asl-1.5.3.jar -DgroupId=org.codehaus.jackson -DartifactId=jackson-mapper-asl -Dversion=1.5.3 RUN mvn install:install-file -DcreateChecksum=true -Dpackaging=jar -Dfile=/opt/zooma_github/zooma-ui/lib/jackson-core-asl-1.5.3.jar -DgroupId=org.codehaus.jackson -DartifactId=jackson-core-asl -Dversion=1.5.3 + RUN cd /opt/zooma_github && mvn clean package RUN mkdir /opt/tmp && unzip /opt/zooma_github/zooma-builder-app/target/zooma-builder.zip -d /opt/tmp RUN cp /opt/zooma_github/zooma-ui/target/zooma.war /usr/local/tomcat/webapps/ diff --git a/README.md b/README.md index be9c9e73..1c6a3366 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ZOOMA is an application for discovering optimal ontology mappings, developed by ## Deploying with Docker -The preferred method of deployment for ZOOMA is using Docker. If you would like to deploy **the entire OntoTools stack** (OLS, OxO, and ZOOMA), check out the [OntoTools Docker Config](https://github.com/EBISPOT/ontotools-docker-config) repository. If you would like to deploy **ZOOMA only**, read on. +The preferred method of deployment for ZOOMA is using Docker. If you would like to deploy **the entire OntoTools stack** (OLS, OxO, and ZOOMA), check out the [OntoTools Docker Config](https://github.com/EBISPOT/ontotools-docker-config) repository. If you would like to deploy **ZOOMA only**, read on First, create the necessary volumes: diff --git a/ols-client/lib/m2directory.tar.gz b/ols-client/lib/m2directory.tar.gz new file mode 100644 index 00000000..19e93c0e --- /dev/null +++ b/ols-client/lib/m2directory.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ead688d4717b109b0f0314b6126481244915bd7378184d2b6a4a80c8c1d87bc +size 540467695 diff --git a/zooma-ui/src/main/frontend/src/pages/Home.tsx b/zooma-ui/src/main/frontend/src/pages/Home.tsx index bd349322..cd8e0f4b 100644 --- a/zooma-ui/src/main/frontend/src/pages/Home.tsx +++ b/zooma-ui/src/main/frontend/src/pages/Home.tsx @@ -73,41 +73,71 @@ export default class Home extends Component { return (
- -

Query

- -

Use the text box to find possible ontology mappings for free text terms in the ZOOMA repository of curated annotation knowledge. You can add one term (e.g. 'Homo sapiens') per line. If you also have a type for your term (e.g. 'organism'), put this after the term, separated by a tab. -If you are new to ZOOMA, take a look at our getting started guide.

-
- - + +
+
+

+ Do data resources managed by EMBL-EBI and our collaborators make a difference to your + work?

+ Please take 10 minutes to fill in our annual user survey, and help us make the case for + why sustaining open data resources is critical for life sciences research.

+ Survey link: https://www.surveymonkey.com/r/HJKYKTT?channel=[webpage] +

+
+
+
+ +

Query

- - - Show me some examples... - +

Use the text box to find possible ontology mappings for free text terms in the ZOOMA + repository of curated annotation knowledge. You can add one term (e.g. 'Homo sapiens') per + line. If you also have a type for your term (e.g. 'organism'), put this after the term, + separated by a tab. + If you are new to ZOOMA, take a look at our getting started guide.

+
+ + + + + + Show me some examples... + + + + + + -
- - - -
-
- -

Datasources

- -

ZOOMA maps text to ontology terms based on curated mappings from selected datasources (more preferred), and by searching ontologies directly (less preferred). Here, you can select which curated datasources to use, optionally ranked in order of preference. You can also select which ontologies to search directly.

-
- - { - this.state.datasources && - this.state.datasourceConfig && - - } - -
-
+ + +

Datasources

+ +

ZOOMA maps text to ontology terms based on curated mappings from selected datasources (more + preferred), and by searching ontologies directly (less preferred). Here, you can select + which curated datasources to use, optionally ranked in order of preference. You can also + select which ontologies to search directly.

+
+ + { + this.state.datasources && + this.state.datasourceConfig && + + } + +
+