Skip to content

Commit

Permalink
Merge pull request #713 from kbase/develop
Browse files Browse the repository at this point in the history
Release 0.14.2
  • Loading branch information
MrCreosote authored Nov 9, 2023
2 parents 4c03b43 + c14e3a6 commit 81defb3
Show file tree
Hide file tree
Showing 136 changed files with 11,663 additions and 6,537 deletions.
2 changes: 1 addition & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@
<attribute name="javadoc_location" value="jar:platform:/resource/jars/lib/jars/jackson/jackson-databind-2.9.9-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/jars/lib/jars/kbase/common/kbase-common-0.1.0.jar" sourcepath="/jars/lib/jars/kbase/common/kbase-common-0.1.0-sources.jar"/>
<classpathentry kind="lib" path="/jars/lib/jars/arangodb/arangodb-java-driver-6.7.2.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/jars/lib/jars/arangodb/arangodb-java-driver-6.7.2-javadoc.jar!/"/>
Expand Down Expand Up @@ -106,5 +105,6 @@
<classpathentry kind="lib" path="/jars/lib/jars/amazon/V2/third-party-jackson-core-2.17.214.jar"/>
<classpathentry kind="lib" path="/jars/lib/jars/amazon/V2/url-connection-client-2.17.214.jar"/>
<classpathentry kind="lib" path="/jars/lib/jars/amazon/V2/utils-2.17.214.jar"/>
<classpathentry kind="lib" path="/jars/lib/jars/kbase/common/kbase-common-0.1.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
162 changes: 162 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
name: KBase Workspace tests

on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
push:
# run workflow when merging to main or develop
branches:
- main
- master
- develop

# TODO find out what minio ver we're using in CI / appdev / prod and use that
# TODO split tests into mongo related & non mongo related. Run the former once.
jobs:

workspace_container_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"

- name: Install dependencies and set up test config
shell: bash
run: |
# set up python dependencies
pip install pytest requests
- name: Run tests
shell: bash
run: |
sh scripts/run_tests.sh
workspace_deluxe_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- java: '11'
mongo: 'mongodb-linux-x86_64-3.6.23'
minio: '2019-05-23T00-29-34Z'
wired_tiger: 'true'
ant_test: 'test_quick_coverage'
# the current production setup
- java: '11'
mongo: 'mongodb-linux-x86_64-3.6.13'
minio: '2019-05-23T00-29-34Z'
wired_tiger: 'false'
ant_test: 'test_quick_coverage'
steps:
- uses: actions/checkout@v3

- name: Set up java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{matrix.java}}

- name: Set up Python 3.7 # sample service is on 3.7, handle service is on sdkbase2.latest
uses: actions/setup-python@v3
with:
python-version: "3.7"

- name: Install dependencies and set up test config
shell: bash
run: |
export HOMEDIR=`pwd`
# set up python dependencies
cd python_dependencies
pip install pipenv
pipenv sync --system
cd ..
# move to parent dir of homedir to install binaries etc
cd ..
# set up jars
git clone https://github.com/kbase/jars
export JARSDIR=$(pwd)/jars/lib/jars/
# set up arango
export ARANGODB_VER=3.9.1
export ARANGODB_V=39
curl -O https://download.arangodb.com/arangodb$ARANGODB_V/Community/Linux/arangodb3-linux-$ARANGODB_VER.tar.gz
tar -xf arangodb3-linux-$ARANGODB_VER.tar.gz
export ARANGO_EXE=$(pwd)/arangodb3-linux-$ARANGODB_VER/bin/arangod
export ARANGO_JS=$(pwd)/arangodb3-linux-$ARANGODB_VER/usr/share/arangodb3/js/
# set up handle service
export HS_COMMIT=08e18379817e16db920501b66ba62b66598f506c
export LOG_COMMIT=b549c557e3c519e0a55eadf7863a93db25cd6806
git clone https://github.com/kbase/handle_service2.git
cd handle_service2/
git checkout $HS_COMMIT
sudo chmod -R 777 .
cd lib/
mkdir biokbase
cd biokbase/
wget https://github.com/raw/kbase/sdkbase2/$LOG_COMMIT/log.py
cd ..
export HSDIR=`pwd`
cd ../..
# set up sample service
export SAMPLE_COMMIT=6813fb148e95db2b11db6eea04f4d1d45cbb7119
git clone https://github.com/kbase/sample_service.git
cd sample_service
git checkout $SAMPLE_COMMIT
cd lib
export SAMPLE_DIR=`pwd`
cd ../..
# set up blobstore
wget -q -O blobstore https://github.com/kbase/blobstore/releases/download/v0.1.2/blobstore_linux_amd64
chmod a+x blobstore
export BLOBEXE=$(pwd)/blobstore
# set up mongo
wget -q http://fastdl.mongodb.org/linux/${{matrix.mongo}}.tgz
tar xfz ${{matrix.mongo}}.tgz
export MONGOD=`pwd`/${{matrix.mongo}}/bin/mongod
# set up minio
export MINIO=$HOMEDIR/test_dependencies/minio/${{matrix.minio}}/minio
gunzip $MINIO.gz
chmod a+x $MINIO
# set up test config
cd $HOMEDIR
cp -n test.cfg.example test.cfg
sed -i "s#^test.temp.dir =.*#test.temp.dir=temp_test_dir#" test.cfg
sed -i "s#^test.mongo.exe.*#test.mongo.exe=$MONGOD#" test.cfg
sed -i "s#^test.minio.exe.*#test.minio.exe=$MINIO#" test.cfg
sed -i "s#^test.mongo.useWiredTiger.*#test.mongo.useWiredTiger=${{matrix.wired_tiger}}#" test.cfg
sed -i "s#^test.jars.dir.*#test.jars.dir=$JARSDIR#" test.cfg
sed -i "s#^test.blobstore.exe.*#test.blobstore.exe=$BLOBEXE#" test.cfg
sed -i "s#^test.handleservice.dir.*#test.handleservice.dir=$HSDIR#" test.cfg
sed -i "s#^test.sampleservice.dir.*#test.sampleservice.dir=$SAMPLE_DIR#" test.cfg
sed -i "s#^test.arango.exe.*#test.arango.exe=$ARANGO_EXE#" test.cfg
sed -i "s#^test.arango.js.*#test.arango.js=$ARANGO_JS#" test.cfg
cat test.cfg
- name: Run tests
shell: bash
run: |
ant javadoc
ant ${{matrix.ant_test}}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
117 changes: 0 additions & 117 deletions .travis.yml

This file was deleted.

41 changes: 29 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,29 +1,47 @@
FROM kbase/sdkbase2 as build
FROM eclipse-temurin:11-jdk as build

COPY . /tmp/workspace_deluxe
RUN pip install configobj && \
cd /tmp && \
WORKDIR /tmp
RUN apt-get update -y && \
apt-get install -y ant git ca-certificates python3-sphinx && \
git clone https://github.com/kbase/jars && \
cd workspace_deluxe && \
make docker_deps

FROM kbase/kb_jre
# updated/slimmed down version of what's in kbase/kb_jre
FROM ubuntu:18.04

# These ARGs values are passed in via the docker build command
ARG BUILD_DATE
ARG VCS_REF
ARG BRANCH=develop

COPY --from=build /tmp/workspace_deluxe/deployment/ /kb/deployment/

RUN /usr/bin/tomcat8-instance-create /kb/deployment/services/workspace/tomcat && \
mv /kb/deployment/services/workspace/WorkspaceService.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war && \
rm -rf /kb/deployment/services/workspace/tomcat/webapps/ROOT

# Must set catalina_base to match location of tomcat8-instance-create dir
# before calling /usr/share/tomcat8/bin/catalina.sh
ENV CATALINA_BASE /kb/deployment/services/workspace/tomcat
ENV KB_DEPLOYMENT_CONFIG /kb/deployment/conf/deployment.cfg
ENV DOCKERIZE_VERSION linux-amd64-v0.6.1
ENV TOMCAT_VERSION tomcat8
USER root

RUN mkdir -p /var/lib/apt/lists/partial && \
apt-get update -y && \
apt-get install --no-install-recommends -y ca-certificates ${TOMCAT_VERSION}-user libservlet3.1-java wget && \
update-ca-certificates && \
apt-get clean && \
useradd -c "KBase user" -rd /kb/deployment/ -u 998 -s /bin/bash kbase && \
mkdir -p /kb/deployment/bin && \
chown -R kbase /kb/deployment && \
cd /kb/deployment/bin && \
wget -N https://github.com/kbase/dockerize/raw/master/dockerize-${DOCKERIZE_VERSION}.tar.gz && \
tar xvzf dockerize-${DOCKERIZE_VERSION}.tar.gz && \
rm dockerize-${DOCKERIZE_VERSION}.tar.gz

COPY --from=build /tmp/workspace_deluxe/deployment/ /kb/deployment/

RUN /usr/bin/${TOMCAT_VERSION}-instance-create /kb/deployment/services/workspace/tomcat && \
mv /kb/deployment/services/workspace/WorkspaceService.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war && \
rm -rf /kb/deployment/services/workspace/tomcat/webapps/ROOT

# The BUILD_DATE value seem to bust the docker cache when the timestamp changes, move to
# the end
Expand All @@ -32,7 +50,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0.0-rc1" \
us.kbase.vcs-branch=$BRANCH \
maintainer="Steve Chan sychan@lbl.gov"
maintainer="KBase developers engage@kbase.us"

EXPOSE 7058
ENTRYPOINT [ "/kb/deployment/bin/dockerize" ]
Expand All @@ -45,4 +63,3 @@ CMD [ "-template", "/kb/deployment/conf/.templates/deployment.cfg.templ:/kb/depl
"-stdout", "/kb/deployment/services/workspace/tomcat/logs/catalina.out", \
"-stdout", "/kb/deployment/services/workspace/tomcat/logs/access.log", \
"/usr/share/tomcat8/bin/catalina.sh", "run" ]

Loading

0 comments on commit 81defb3

Please sign in to comment.