Skip to content

Commit 7ffa057

Browse files
authored
Merge branch 'develop' into IA-5026-update-helm-and-k8s
2 parents 0e39feb + d986578 commit 7ffa057

File tree

149 files changed

+4078
-4445
lines changed

Some content is hidden

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

149 files changed

+4078
-4445
lines changed

.github/workflows/automerge.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,10 @@ jobs:
4545
- name: Match the PR to the corresponding team's slack notification channel
4646
id: prepare-outputs
4747
run: |
48-
if ${{ contains(github.event.pull_request.title, 'WM-') }}; then
49-
echo 'notify-failure-channel=dsp-workflows' >> $GITHUB_OUTPUT
50-
elif ${{ contains(github.event.pull_request.title, 'WX-') }}; then
51-
echo 'notify-failure-channel=dsp-workflows' >> $GITHUB_OUTPUT
52-
else ${{ contains(github.event.pull_request.title, 'AJ-') }};
53-
echo 'notify-failure-channel=dsp-analysis-journeys' >> $GITHUB_OUTPUT
48+
if ${{ contains(github.event.pull_request.title, 'AN-') }}; then
49+
echo 'notify-failure-channel=dsp-analysis-non-prod-alerts' >> $GITHUB_OUTPUT
50+
else ${{ contains(github.event.pull_request.title, 'CORE-') }};
51+
echo 'notify-failure-channel=dsp-core-services' >> $GITHUB_OUTPUT
5452
fi
5553
5654
report-workflow:

.github/workflows/azure_automation_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ jobs:
162162
outputs:
163163
project-name: ${{ steps.gen.outputs.project_name }}
164164
steps:
165-
- uses: 'actions/checkout@v3'
165+
- uses: 'actions/checkout@v4'
166166

167167
- name: Generate a random billing project name
168168
id: 'gen'

.github/workflows/consumer_contract_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
fork: ${{ steps.extract-branch.outputs.fork }}
9595

9696
steps:
97-
- uses: actions/checkout@v3
97+
- uses: actions/checkout@v4
9898

9999
- name: Obtain branch properties
100100
id: extract-branch
@@ -137,7 +137,7 @@ jobs:
137137
pact-b64: ${{ steps.encode-pact.outputs.pact-b64 }}
138138

139139
steps:
140-
- uses: actions/checkout@v3
140+
- uses: actions/checkout@v4
141141
- name: Run consumer tests
142142
run: |
143143
docker run --rm -v $PWD:/working \

.github/workflows/custom_image_generation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
OUTPUT_FILE_RELATIVE_PATH: jenkins/gce-custom-images/output.txt
3535

3636
steps:
37-
- uses: actions/checkout@v3
37+
- uses: actions/checkout@v4
3838

3939
- id: 'auth'
4040
name: 'Authenticate to Google Cloud'
@@ -81,7 +81,7 @@ jobs:
8181
DATAPROC_IMAGE_BUCKET: gs://leo-dataproc-image-creation-logs
8282

8383
steps:
84-
- uses: actions/checkout@v3
84+
- uses: actions/checkout@v4
8585

8686
- id: 'auth'
8787
name: 'Authenticate to Google Cloud'

.github/workflows/leo-build-tag-publish-and-run-tests.yml

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ env:
3232
LEO_SWAT_TESTS_RUN_NAME: 'leonardo-swat-tests-${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}'
3333
BEE_CREATE_RUN_NAME: 'bee-create-${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}'
3434
BEE_DESTROY_RUN_NAME: 'bee-destroy-${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}'
35-
AZURE_SWAT_TESTS_RUN_NAME: 'azure-swat-tests-${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}'
35+
# AZURE_SWAT_TESTS_RUN_NAME: 'azure-swat-tests-${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}'
3636

3737
concurrency:
3838
# Don't run this workflow concurrently on the same branch
@@ -93,7 +93,7 @@ jobs:
9393
- name: Extract branch
9494
id: extract-branch
9595
run: |
96-
if [[ '${{ github.event_name }}' == 'push' ]]; then
96+
if [[ '${{ github.event_name }}' == 'push' || '${{ github.event_name }}' == 'workflow_run' ]]; then
9797
BRANCH_NAME=${{ github.ref_name }}
9898
elif [[ '${{ github.event_name }}' == 'pull_request' ]]; then
9999
BRANCH_NAME=${{ github.head_ref }}
@@ -216,32 +216,33 @@ jobs:
216216
"custom-version-json": "${{ steps.render-leo-version.outputs.custom-version-json }}"
217217
}'
218218

219-
azure-automation-tests:
220-
runs-on: ubuntu-latest
221-
needs: [ leo-build-tag-publish-job, report-to-sherlock, init-github-context, create-bee-workflow ]
222-
permissions:
223-
contents: 'read'
224-
id-token: 'write'
225-
steps:
226-
- name: dispatch to azure automation test workflow
227-
uses: broadinstitute/[email protected]
228-
with:
229-
run-name: "${{ env.AZURE_SWAT_TESTS_RUN_NAME }}"
230-
workflow: .github/workflows/azure_automation_test.yml
231-
repo: DataBiosphere/leonardo
232-
ref: refs/heads/develop
233-
token: ${{ env.TOKEN }}
234-
# this is not actually 85mins, the timeout is not working correctly and is summing from other jobs
235-
wait-for-completion-timeout: 85m
236-
inputs: '{
237-
"terra-env": "${{ needs.init-github-context.outputs.test-env }}",
238-
"automation-branch": "${{ needs.init-github-context.outputs.automation-branch }}",
239-
"app-version": "${{ needs.leo-build-tag-publish-job.outputs.tag }}",
240-
"bee-name": "${{ env.BEE_NAME }}",
241-
"is-triggered-from-pr-dispatch": "true",
242-
"run-name": "${{ env.AZURE_SWAT_TESTS_RUN_NAME }}"
243-
}'
244-
wait-for-completion: true
219+
## !! Commenting out until when/if the azure tests are necessary again...
220+
# azure-automation-tests:
221+
# runs-on: ubuntu-latest
222+
# needs: [ leo-build-tag-publish-job, report-to-sherlock, init-github-context, create-bee-workflow ]
223+
# permissions:
224+
# contents: 'read'
225+
# id-token: 'write'
226+
# steps:
227+
# - name: dispatch to azure automation test workflow
228+
# uses: broadinstitute/[email protected]
229+
# with:
230+
# run-name: "${{ env.AZURE_SWAT_TESTS_RUN_NAME }}"
231+
# workflow: .github/workflows/azure_automation_test.yml
232+
# repo: DataBiosphere/leonardo
233+
# ref: refs/heads/develop
234+
# token: ${{ env.TOKEN }}
235+
# # this is not actually 85mins, the timeout is not working correctly and is summing from other jobs
236+
# wait-for-completion-timeout: 85m
237+
# inputs: '{
238+
# "terra-env": "${{ needs.init-github-context.outputs.test-env }}",
239+
# "automation-branch": "${{ needs.init-github-context.outputs.automation-branch }}",
240+
# "app-version": "${{ needs.leo-build-tag-publish-job.outputs.tag }}",
241+
# "bee-name": "${{ env.BEE_NAME }}",
242+
# "is-triggered-from-pr-dispatch": "true",
243+
# "run-name": "${{ env.AZURE_SWAT_TESTS_RUN_NAME }}"
244+
# }'
245+
# wait-for-completion: true
245246

246247
leo-swat-test-job:
247248
strategy:
@@ -298,7 +299,7 @@ jobs:
298299
needs:
299300
- init-github-context
300301
- leo-swat-test-job
301-
- azure-automation-tests
302+
# - azure-automation-tests
302303
if: ${{ needs.init-github-context.outputs.delete-bee && always() }} # always run to confirm bee is destroyed unless explicitly requested not to
303304
permissions:
304305
contents: 'read'

.github/workflows/publish_java_client.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ jobs:
2929
SBT_OPTS: -Xmx3g
3030

3131
steps:
32-
- uses: actions/checkout@v3
32+
- uses: actions/checkout@v4
33+
- uses: sbt/setup-sbt@v1
3334

3435
# coursier cache action caches both coursier and sbt caches
3536
- name: coursier-cache-action

.github/workflows/tag.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
new-tag: ${{ steps.tag.outputs.new_tag }}
4747
steps:
4848
- name: Checkout current code
49-
uses: actions/checkout@v3
49+
uses: actions/checkout@v4
5050
with:
5151
ref: ${{ inputs.ref }}
5252
token: ${{ secrets.BROADBOT_TOKEN }} # this allows the push to succeed later

.github/workflows/trivy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
name: DSP AppSec Trivy check
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v2
10+
- uses: actions/checkout@v4
1111

1212
# The Dockerfile copies this, so it needs
1313
# to exist for the build to succeed

.github/workflows/unit_test.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
services:
2323
mysql:
24-
image: mysql/mysql-server:5.6
24+
image: mysql:8.4
2525
env:
2626
MYSQL_ROOT_PASSWORD: leonardo-test
2727
MYSQL_USER: leonardo-test
@@ -36,7 +36,8 @@ jobs:
3636
- 3307:3306
3737

3838
steps:
39-
- uses: actions/checkout@v3
39+
- uses: actions/checkout@v4
40+
- uses: sbt/setup-sbt@v1
4041

4142
- name: Set up JDK 17
4243
uses: actions/setup-java@v3

.github/workflows/verify_consumer_contracts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107

108108
steps:
109109
- name: Checkout current code
110-
uses: actions/checkout@v3
110+
uses: actions/checkout@v4
111111
with:
112112
fetch-depth: 0
113113

CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# These owners will be the default owners for everything in
2+
# the repo. Unless a later match takes precedence,
3+
# @broadinstitute/dsp-analysis will be requested for
4+
# review when someone opens a pull request.
5+
* @DataBiosphere/dsp-analysis
6+

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ENV HELM_DEBUG 1
2727
ENV TERRA_APP_SETUP_VERSION 0.1.0
2828
ENV TERRA_APP_VERSION 0.5.0
2929
# This is galaxykubeman, which references Galaxy
30-
ENV GALAXY_VERSION 2.9.0
30+
ENV GALAXY_VERSION 2.10.0
3131
ENV NGINX_VERSION 4.3.0
3232
# If you update this here, make sure to also update reference.conf:
3333
ENV CROMWELL_CHART_VERSION 0.2.523

automation/src/test/resources/reference.conf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
leonardo {
2-
rImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-r:2.2.5"
2+
rImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-r:2.2.6"
33
pythonImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-python:1.1.5"
4-
hailImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-hail:1.1.10"
5-
gatkImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-gatk:2.3.7"
6-
aouImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-aou:2.2.12"
4+
hailImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-hail:1.1.12"
5+
gatkImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-gatk:2.3.8"
6+
aouImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-aou:2.2.14"
77
baseImageUrl = "us.gcr.io/broad-dsp-gcr-public/terra-jupyter-base:1.1.3"
88
gcrWelderUri = "us.gcr.io/broad-dsp-gcr-public/welder-server"
99
dockerHubWelderUri = "broadinstitute/welder-server"
10-
rstudioBioconductorImageUrl = "us.gcr.io/broad-dsp-gcr-public/anvil-rstudio-bioconductor:3.19.0"
10+
rstudioBioconductorImageUrl = "us.gcr.io/broad-dsp-gcr-public/anvil-rstudio-bioconductor:3.20.1"
1111
//each fiab will have a unique topic name sourced from leonardo.conf, this is never published to in automation tests to ensure pub/sub components can auth properly, but never read from to avoid conflicts.
1212
topicName = "leonardo-pubsub-test"
1313
location = "us-central1-a"

automation/src/test/scala/org/broadinstitute/dsde/workbench/leonardo/RuntimeFixtureSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ object RuntimeFixtureSpec {
227227
case CloudService.Dataproc =>
228228
RuntimeConfigRequest.DataprocConfig(
229229
numberOfWorkers = Some(0),
230-
masterDiskSize = Some(DiskSize(130)),
230+
masterDiskSize = Some(DiskSize(150)),
231231
masterMachineType = Some(MachineTypeName("n1-standard-8")),
232232
workerMachineType = Some(MachineTypeName("n1-standard-8")),
233233
workerDiskSize = None,

automation/src/test/scala/org/broadinstitute/dsde/workbench/leonardo/runtimes/RuntimeDataprocSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class RuntimeDataprocSpec extends BillingProjectFixtureSpec with ParallelTestExe
9595
RuntimeConfigRequest.DataprocConfig(
9696
Some(2),
9797
Some(MachineTypeName("n1-standard-4")),
98-
Some(DiskSize(130)),
98+
Some(DiskSize(150)),
9999
Some(MachineTypeName("n1-standard-4")),
100100
Some(DiskSize(150)),
101101
None,
@@ -158,7 +158,7 @@ class RuntimeDataprocSpec extends BillingProjectFixtureSpec with ParallelTestExe
158158
RuntimeConfigRequest.DataprocConfig(
159159
Some(2),
160160
Some(MachineTypeName("n1-standard-4")),
161-
Some(DiskSize(130)),
161+
Some(DiskSize(150)),
162162
Some(MachineTypeName("n1-standard-4")),
163163
Some(DiskSize(150)),
164164
None,

core/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/http/diskRoutesModels.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ final case class ListPersistentDiskResponse(id: DiskId,
4242
size: DiskSize,
4343
diskType: DiskType,
4444
blockSize: BlockSize,
45-
labels: LabelMap
45+
labels: LabelMap,
46+
workspaceId: Option[WorkspaceId]
4647
)
4748

4849
final case class GetPersistentDiskResponse(id: DiskId,
@@ -57,7 +58,8 @@ final case class GetPersistentDiskResponse(id: DiskId,
5758
diskType: DiskType,
5859
blockSize: BlockSize,
5960
labels: LabelMap,
60-
formattedBy: Option[FormattedBy]
61+
formattedBy: Option[FormattedBy],
62+
workspaceId: Option[WorkspaceId]
6163
)
6264

6365
final case class GetPersistentDiskV2Response(id: DiskId,

core/src/main/scala/org/broadinstitute/dsde/workbench/leonardo/runtimeModels.scala

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -525,17 +525,26 @@ object WelderAction extends Enum[WelderAction] {
525525
case object DisableDelocalization extends WelderAction
526526
}
527527

528-
final case class MemorySize(bytes: Long) extends AnyVal {
528+
final case class MemorySizeBytes(bytes: Long) extends AnyVal {
529529
override def toString: String = bytes.toString + "b"
530530
}
531-
object MemorySize {
531+
object MemorySizeBytes {
532532
val kbInBytes = 1024
533533
val mbInBytes = 1048576
534534
val gbInBytes = 1073741824
535535

536-
def fromKb(kb: Double): MemorySize = MemorySize((kb * kbInBytes).toLong)
537-
def fromMb(mb: Double): MemorySize = MemorySize((mb * mbInBytes).toLong)
538-
def fromGb(gb: Double): MemorySize = MemorySize((gb * gbInBytes).toLong)
536+
def fromKb(kb: Double): MemorySizeBytes = MemorySizeBytes((kb * kbInBytes).toLong)
537+
def fromMb(mb: Double): MemorySizeBytes = MemorySizeBytes((mb * mbInBytes).toLong)
538+
def fromGb(gb: Double): MemorySizeBytes = MemorySizeBytes((gb * gbInBytes).toLong)
539+
}
540+
541+
final case class MemorySizeMegaBytes(megabytes: Long) extends AnyVal {
542+
override def toString: String = megabytes.toString + "m"
543+
}
544+
object MemorySizeMegaBytes {
545+
val mbInBytes = 1048576
546+
547+
def fromB(b: Double): MemorySizeMegaBytes = MemorySizeMegaBytes((b / mbInBytes).toLong)
539548
}
540549

541550
/**
@@ -548,9 +557,10 @@ object MemorySize {
548557
* Note that the memory limit includes all the sub-procesess of the Notebook server including the
549558
* Notebook kernel and the Spark driver process, if any.
550559
*/
551-
final case class RuntimeResourceConstraints(memoryLimit: MemorySize,
552-
totalMachineMemory: MemorySize,
553-
driverMemory: Option[MemorySize]
560+
final case class RuntimeResourceConstraints(memoryLimit: MemorySizeBytes,
561+
shmSize: MemorySizeMegaBytes,
562+
totalMachineMemory: MemorySizeBytes,
563+
driverMemory: Option[MemorySizeBytes]
554564
)
555565

556566
final case class RuntimeMetrics(cloudContext: CloudContext,

0 commit comments

Comments
 (0)