Skip to content

Commit 5fd263d

Browse files
committed
Merge remote-tracking branch 'origin/master' into dan-ss-slurm
2 parents 3617f2d + 5678ce1 commit 5fd263d

File tree

499 files changed

+38404
-3029
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

499 files changed

+38404
-3029
lines changed

.github/workflows/CI-full.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: CI-application-containers
22

33
on:
44
workflow_dispatch:
5+
inputs:
6+
tag:
7+
description: "Repository tag (e.g., 7.7.0.37)"
8+
required: true
59
release:
610
types: [published]
711

@@ -12,23 +16,34 @@ jobs:
1216
build:
1317
runs-on: ubuntu-22.04
1418
steps:
19+
- name: Free up VM's disk space
20+
run: |
21+
sudo rm -rf /usr/local/lib/android
22+
sudo rm -rf /usr/local/.ghcup
23+
sudo rm -rf /usr/share/dotnet
24+
sudo rm -rf /usr/share/swift
25+
sudo apt-get clean
26+
1527
- uses: actions/checkout@v4
16-
- name: Get the VCell version from tags
17-
id: version
18-
run: echo ::set-output name=tag::$(echo ${GITHUB_REF:10})
28+
1929
- name: set global environment variables
2030
run: |
31+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
32+
echo "FRIENDLY_TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
33+
else
34+
echo "FRIENDLY_TAG=${GITHUB_REF:10}" >> $GITHUB_ENV
35+
fi
2136
echo "VCELL_TAG=`git rev-parse --short HEAD`" >> $GITHUB_ENV
2237
echo "VCELL_REPO_NAMESPACE=ghcr.io/virtualcell" >> $GITHUB_ENV
2338
echo "VCELL_DEPLOY_REMOTE_DIR=/share/apps/vcell3/deployed_github" >> $GITHUB_ENV
24-
echo "VCELL_MANAGER_NODE=vcellapi-beta.cam.uchc.edu" >> $GITHUB_ENV
39+
echo "VCELL_MANAGER_NODE=vcellapi.cam.uchc.edu" >> $GITHUB_ENV
2540
- name: setup ssh-agent
2641
uses: webfactory/ssh-agent@v0.8.0
2742
with:
2843
ssh-private-key: ${{ secrets.VC_KEY }}
2944
- name: get installer secrets
3045
run: |
31-
ssh-keyscan vcellapi-beta.cam.uchc.edu >> ~/.ssh/known_hosts
46+
ssh-keyscan ${VCELL_MANAGER_NODE} >> ~/.ssh/known_hosts
3247
sudo mkdir /usr/local/deploy
3348
sudo chmod 777 /usr/local/deploy
3449
cd /usr/local/deploy
@@ -105,9 +120,9 @@ jobs:
105120
- name: tag as latest and push to registry
106121
shell: bash
107122
run: |
108-
for CONTAINER in vcell-api vcell-rest vcell-webapp-prod vcell-webapp-dev vcell-webapp-stage vcell-webapp-island vcell-batch vcell-opt vcell-clientgen vcell-data vcell-db vcell-mongo vcell-sched vcell-submit vcell-admin;\
123+
for CONTAINER in vcell-exporter vcell-api vcell-rest vcell-webapp-prod vcell-webapp-dev vcell-webapp-stage vcell-webapp-island vcell-batch vcell-opt vcell-clientgen vcell-data vcell-db vcell-mongo vcell-sched vcell-submit vcell-admin;\
109124
do docker tag ${VCELL_REPO_NAMESPACE}/$CONTAINER:${VCELL_TAG} ${VCELL_REPO_NAMESPACE}/$CONTAINER:latest;\
110-
docker tag ${VCELL_REPO_NAMESPACE}/$CONTAINER:${VCELL_TAG} ${VCELL_REPO_NAMESPACE}/$CONTAINER:${{ steps.version.outputs.tag }};\
125+
docker tag ${VCELL_REPO_NAMESPACE}/$CONTAINER:${VCELL_TAG} ${VCELL_REPO_NAMESPACE}/$CONTAINER:${FRIENDLY_TAG};\
111126
docker push --all-tags ${VCELL_REPO_NAMESPACE}/$CONTAINER;\
112127
done
113128

docker/build/build.sh

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ ssh_key=
77
skip_push=false
88
skip_maven=false
99
SUDO_CMD=sudo
10-
mvn_repo=$HOME/.m2
1110

1211
show_help() {
1312
echo "usage: build.sh [OPTIONS] target repo tag"
@@ -102,13 +101,25 @@ build_api() {
102101
build_rest() {
103102
echo "building $repo/vcell-rest:$tag"
104103
echo "$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-rest:$tag ../../vcell-rest"
104+
mvn clean install -DskipTests -Dvcell.exporter=false -f ../../vcell-rest/pom.xml
105105
$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-rest:$tag ../../vcell-rest
106106
if [[ $? -ne 0 ]]; then echo "docker buildx build --platform=linux/amd64 failed"; exit 1; fi
107107
if [ "$skip_push" == "false" ]; then
108108
$SUDO_CMD docker push $repo/vcell-rest:$tag
109109
fi
110110
}
111111

112+
build_exporter() {
113+
echo "building $repo/vcell-exporter:$tag"
114+
echo "$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-exporter:$tag ../../vcell-rest"
115+
mvn clean install -DskipTests -Dvcell.exporter=true -f ../../vcell-rest/pom.xml
116+
$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-exporter:$tag ../../vcell-rest
117+
if [[ $? -ne 0 ]]; then echo "docker buildx build --platform=linux/amd64 failed"; exit 1; fi
118+
if [ "$skip_push" == "false" ]; then
119+
$SUDO_CMD docker push $repo/vcell-exporter:$tag
120+
fi
121+
}
122+
112123

113124
build_webapp_common() {
114125
config=$1
@@ -232,7 +243,7 @@ shift
232243

233244
if [ "$skip_maven" == "false" ]; then
234245
pushd ../..
235-
mvn --batch-mode -Dmaven.repo.local=$mvn_repo clean install dependency:copy-dependencies -DskipTests=true
246+
mvn --batch-mode clean install dependency:copy-dependencies -DskipTests=true
236247
popd
237248
fi
238249

@@ -251,6 +262,7 @@ case $target in
251262
;;
252263
rest)
253264
build_rest
265+
build_exporter
254266
exit $?
255267
;;
256268
webapp)
@@ -291,11 +303,11 @@ case $target in
291303
;;
292304
all)
293305
# build_api && build_rest && build_db && build_sched && build_submit && build_data && build_mongo && build_batch && build_opt && build_clientgen && build_admin
294-
build_api && build_rest && build_webapp && build_db && build_sched && build_submit && build_data && build_mongo && build_batch && build_opt && build_clientgen && build_admin
306+
build_api && build_rest && build_exporter && build_webapp && build_db && build_sched && build_submit && build_data && build_mongo && build_batch && build_opt && build_clientgen && build_admin
295307
exit $?
296308
;;
297309
appservices)
298-
build_api && build_rest && build_webapp && build_db && build_sched && build_submit && build_data && build_mongo
310+
build_api && build_rest && build_exporter && build_webapp && build_db && build_sched && build_submit && build_data && build_mongo
299311
exit $?
300312
;;
301313
*)

python-restclient/.openapi-generator/FILES

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,48 @@
33
README.md
44
docs/AccesTokenRepresentationRecord.md
55
docs/AdminResourceApi.md
6+
docs/AnalyticCurve.md
7+
docs/AnnotatedFunctionDTO.md
68
docs/ApplicationInfo.md
79
docs/BatchSystemType.md
810
docs/BioModel.md
911
docs/BioModelChildSummary.md
1012
docs/BioModelResourceApi.md
1113
docs/BioModelSummary.md
1214
docs/BiomodelRef.md
15+
docs/CompositeCurve.md
16+
docs/ControlPointCurve.md
17+
docs/Coordinate.md
18+
docs/Curve.md
19+
docs/CurveSelectionInfo.md
1320
docs/DataIdentifier.md
1421
docs/DetailedState.md
1522
docs/Domain.md
23+
docs/ExportEvent.md
24+
docs/ExportProgressType.md
25+
docs/ExportResourceApi.md
26+
docs/ExportableDataType.md
1627
docs/Extent.md
1728
docs/ExternalDataIdentifier.md
1829
docs/FieldData.md
1930
docs/FieldDataReference.md
2031
docs/FieldDataResourceApi.md
2132
docs/FieldDataSavedResults.md
2233
docs/FieldDataShape.md
34+
docs/FunctionCategory.md
35+
docs/GIFImage.md
36+
docs/GeometryMode.md
37+
docs/GeometryResourceApi.md
38+
docs/GeometrySpecDTO.md
39+
docs/GeometrySummary.md
2340
docs/GroupAccess.md
2441
docs/GroupAccessAll.md
2542
docs/GroupAccessNone.md
2643
docs/GroupAccessSome.md
2744
docs/HelloWorldApi.md
2845
docs/HelloWorldMessage.md
2946
docs/HtcJobID.md
47+
docs/HumanReadableExportData.md
3048
docs/ISize.md
3149
docs/Identity.md
3250
docs/MathModelChildSummary.md
@@ -35,10 +53,13 @@ docs/MathModelSummary.md
3553
docs/MathType.md
3654
docs/MathmodelRef.md
3755
docs/ModelType.md
56+
docs/N5ExportRequest.md
3857
docs/Origin.md
3958
docs/Publication.md
4059
docs/PublicationInfo.md
4160
docs/PublicationResourceApi.md
61+
docs/SPECIALCLAIM.md
62+
docs/SampledCurve.md
4263
docs/SchedulerStatus.md
4364
docs/SimulationExecutionStatusRecord.md
4465
docs/SimulationJobStatusRecord.md
@@ -49,19 +70,31 @@ docs/SimulationResourceApi.md
4970
docs/SimulationStatusPersistentRecord.md
5071
docs/SolverResourceApi.md
5172
docs/SourceModel.md
73+
docs/SpatialSelection.md
74+
docs/SpatialSelectionContour.md
75+
docs/SpatialSelectionMembrane.md
76+
docs/SpatialSelectionVolume.md
77+
docs/Spline.md
78+
docs/StandardExportInfo.md
5279
docs/Status.md
5380
docs/StatusMessage.md
81+
docs/TimeMode.md
82+
docs/TimeSpecs.md
5483
docs/User.md
5584
docs/UserIdentityJSONSafe.md
5685
docs/UserLoginInfoForMapping.md
5786
docs/UserRegistrationInfo.md
5887
docs/UsersResourceApi.md
5988
docs/VCDocumentType.md
89+
docs/VCImageResourceApi.md
90+
docs/VCImageSummary.md
6091
docs/VCSimulationIdentifier.md
6192
docs/VCellHTTPError.md
6293
docs/VCellSite.md
6394
docs/VCellSoftwareVersion.md
6495
docs/VariableDomain.md
96+
docs/VariableMode.md
97+
docs/VariableSpecs.md
6598
docs/VariableType.md
6699
docs/Version.md
67100
docs/VersionFlag.md
@@ -71,50 +104,71 @@ vcell_client/__init__.py
71104
vcell_client/api/__init__.py
72105
vcell_client/api/admin_resource_api.py
73106
vcell_client/api/bio_model_resource_api.py
107+
vcell_client/api/export_resource_api.py
74108
vcell_client/api/field_data_resource_api.py
109+
vcell_client/api/geometry_resource_api.py
75110
vcell_client/api/hello_world_api.py
76111
vcell_client/api/math_model_resource_api.py
77112
vcell_client/api/publication_resource_api.py
78113
vcell_client/api/simulation_resource_api.py
79114
vcell_client/api/solver_resource_api.py
80115
vcell_client/api/users_resource_api.py
116+
vcell_client/api/vc_image_resource_api.py
81117
vcell_client/api_client.py
82118
vcell_client/api_response.py
83119
vcell_client/configuration.py
84120
vcell_client/exceptions.py
85121
vcell_client/models/__init__.py
86122
vcell_client/models/acces_token_representation_record.py
123+
vcell_client/models/analytic_curve.py
124+
vcell_client/models/annotated_function_dto.py
87125
vcell_client/models/application_info.py
88126
vcell_client/models/batch_system_type.py
89127
vcell_client/models/bio_model.py
90128
vcell_client/models/bio_model_child_summary.py
91129
vcell_client/models/bio_model_summary.py
92130
vcell_client/models/biomodel_ref.py
131+
vcell_client/models/composite_curve.py
132+
vcell_client/models/control_point_curve.py
133+
vcell_client/models/coordinate.py
134+
vcell_client/models/curve.py
135+
vcell_client/models/curve_selection_info.py
93136
vcell_client/models/data_identifier.py
94137
vcell_client/models/detailed_state.py
95138
vcell_client/models/domain.py
139+
vcell_client/models/export_event.py
140+
vcell_client/models/export_progress_type.py
141+
vcell_client/models/exportable_data_type.py
96142
vcell_client/models/extent.py
97143
vcell_client/models/external_data_identifier.py
98144
vcell_client/models/field_data.py
99145
vcell_client/models/field_data_reference.py
100146
vcell_client/models/field_data_saved_results.py
101147
vcell_client/models/field_data_shape.py
148+
vcell_client/models/function_category.py
149+
vcell_client/models/geometry_mode.py
150+
vcell_client/models/geometry_spec_dto.py
151+
vcell_client/models/geometry_summary.py
152+
vcell_client/models/gif_image.py
102153
vcell_client/models/group_access.py
103154
vcell_client/models/group_access_all.py
104155
vcell_client/models/group_access_none.py
105156
vcell_client/models/group_access_some.py
106157
vcell_client/models/hello_world_message.py
107158
vcell_client/models/htc_job_id.py
159+
vcell_client/models/human_readable_export_data.py
108160
vcell_client/models/i_size.py
109161
vcell_client/models/identity.py
110162
vcell_client/models/math_model_child_summary.py
111163
vcell_client/models/math_model_summary.py
112164
vcell_client/models/math_type.py
113165
vcell_client/models/mathmodel_ref.py
114166
vcell_client/models/model_type.py
167+
vcell_client/models/n5_export_request.py
115168
vcell_client/models/origin.py
116169
vcell_client/models/publication.py
117170
vcell_client/models/publication_info.py
171+
vcell_client/models/sampled_curve.py
118172
vcell_client/models/scheduler_status.py
119173
vcell_client/models/simulation_execution_status_record.py
120174
vcell_client/models/simulation_job_status_record.py
@@ -123,8 +177,17 @@ vcell_client/models/simulation_queue_entry_status_record.py
123177
vcell_client/models/simulation_queue_id.py
124178
vcell_client/models/simulation_status_persistent_record.py
125179
vcell_client/models/source_model.py
180+
vcell_client/models/spatial_selection.py
181+
vcell_client/models/spatial_selection_contour.py
182+
vcell_client/models/spatial_selection_membrane.py
183+
vcell_client/models/spatial_selection_volume.py
184+
vcell_client/models/specialclaim.py
185+
vcell_client/models/spline.py
186+
vcell_client/models/standard_export_info.py
126187
vcell_client/models/status.py
127188
vcell_client/models/status_message.py
189+
vcell_client/models/time_mode.py
190+
vcell_client/models/time_specs.py
128191
vcell_client/models/user.py
129192
vcell_client/models/user_identity_json_safe.py
130193
vcell_client/models/user_login_info_for_mapping.py
@@ -133,8 +196,11 @@ vcell_client/models/v_cell_http_error.py
133196
vcell_client/models/v_cell_site.py
134197
vcell_client/models/v_cell_software_version.py
135198
vcell_client/models/variable_domain.py
199+
vcell_client/models/variable_mode.py
200+
vcell_client/models/variable_specs.py
136201
vcell_client/models/variable_type.py
137202
vcell_client/models/vc_document_type.py
203+
vcell_client/models/vc_image_summary.py
138204
vcell_client/models/vc_simulation_identifier.py
139205
vcell_client/models/version.py
140206
vcell_client/models/version_flag.py

0 commit comments

Comments
 (0)