Skip to content

Commit b9fc1c3

Browse files
committed
Merge branch 'develop' into ks_standard_mem_env
2 parents 62022b9 + b1ec16a commit b9fc1c3

File tree

641 files changed

+3875
-128589
lines changed

Some content is hidden

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

641 files changed

+3875
-128589
lines changed

.circleci/config.yml

Lines changed: 0 additions & 174 deletions
This file was deleted.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#This is a series of steps that will setup Java/sbt/Cromwell on the local runner.
2+
#These steps are meant to be re-used and invoked by other Github Action Workflows
3+
name: 'Set Up Cromwell Steps'
4+
description: Specific steps that will set up git secrets, java, sbt, and Cromwell on the local machine.
5+
inputs:
6+
cromwell_repo_token: #As an input to this action, you are required to pass in a token that can be used to authenticate while checking out Cromwell.
7+
required: true
8+
9+
runs:
10+
using: "composite" # <-- this allows these steps to be used by other workflows.
11+
steps:
12+
#Allows this github action to use a cache to store stuff like Java and sbt files between runs.
13+
- uses: actions/checkout@v3
14+
name: Checkout Coursier Cache
15+
- uses: coursier/cache-action@v6
16+
name: Enable Coursier Cache
17+
18+
#Cromwell requires git-secrets be setup. Here, we set up secrets and verify success with a script.
19+
- name: Git secrets setup
20+
run: |
21+
git clone https://github.com/awslabs/git-secrets.git ~/git-secrets
22+
cd ~/git-secrets
23+
git checkout ad82d68ee924906a0401dfd48de5057731a9bc84
24+
sudo make install
25+
shell: bash
26+
27+
- name: Secrets check
28+
run: |
29+
sudo ln -s "$(which echo)" /usr/local/bin/say
30+
./minnie-kenny.sh --force
31+
git secrets --scan-history
32+
shell: bash
33+
34+
#Clone the cromwell repo to this VM.
35+
- name: Clone Cromwell
36+
uses: actions/checkout@v3
37+
with:
38+
repository: broadinstitute/cromwell
39+
token: ${{ inputs.cromwell_repo_token }}
40+
41+
#Install Java to this VM. This Java version and distribution is compatible with Cromwell.
42+
- name: Setup JDK
43+
uses: actions/setup-java@v3
44+
with:
45+
distribution: temurin
46+
java-version: 11
47+

.github/workflows/chart_update_on_merge.yml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,33 @@ jobs:
4141
echo "CROMWELL_NUMBER=$((previous_version + 1))" >> $GITHUB_ENV
4242
- name: Save complete image ID
4343
run: |
44-
echo "CROMWELL_SNAP_VERSION=`echo "$CROMWELL_NUMBER-$CROMWELL_SHORT_SHA-SNAP"`" >> $GITHUB_ENV
44+
echo "CROMWELL_VERSION=`echo "$CROMWELL_NUMBER-$CROMWELL_SHORT_SHA"`" >> $GITHUB_ENV
4545
# `DSDEJENKINS_PASSWORD` auto syncs from vault with https://github.com/broadinstitute/terraform-ap-deployments/pull/614
4646
- name: Login to Docker Hub
4747
uses: docker/login-action@v1
4848
with:
4949
username: dsdejenkins
5050
password: ${{ secrets.DSDEJENKINS_PASSWORD }}
51+
# Build & push `cromwell`, `womtool`, `cromiam`, and `cromwell-drs-localizer`
5152
- name: Build Cromwell Docker
5253
run: |
5354
set -e
5455
cd cromwell
55-
sbt server/docker
56-
docker push broadinstitute/cromwell:$CROMWELL_SNAP_VERSION
56+
sbt -Dproject.isSnapshot=false -Dproject.isRelease=false dockerBuildAndPush
57+
- name: Deploy to dev and board release train (Cromwell)
58+
uses: broadinstitute/repository-dispatch@master
59+
with:
60+
token: ${{ secrets.BROADBOT_GITHUB_TOKEN }}
61+
repository: broadinstitute/terra-helmfile
62+
event-type: update-service
63+
client-payload: '{"service": "cromwell", "version": "${{ env.CROMWELL_VERSION }}", "dev_only": false}'
64+
- name: Deploy to dev and board release train (CromIAM)
65+
uses: broadinstitute/repository-dispatch@master
66+
with:
67+
token: ${{ secrets.BROADBOT_GITHUB_TOKEN }}
68+
repository: broadinstitute/terra-helmfile
69+
event-type: update-service
70+
client-payload: '{"service": "cromiam", "version": "${{ env.CROMWELL_VERSION }}", "dev_only": false}'
5771
- name: Edit & push chart
5872
env:
5973
BROADBOT_GITHUB_TOKEN: ${{ secrets.BROADBOT_GITHUB_TOKEN }}
@@ -62,10 +76,10 @@ jobs:
6276
cd cromwhelm
6377
git checkout main
6478
ls -la
65-
sed -i "s/appVersion.*/appVersion: \"$CROMWELL_SNAP_VERSION\"/" cromwell-helm/Chart.yaml
66-
sed -i "s/image: broadinstitute\/cromwell.*/image: broadinstitute\/cromwell:$CROMWELL_SNAP_VERSION/" cromwell-helm/templates/cromwell.yaml
79+
sed -i "s|image: broadinstitute/cromwell:.*|image: broadinstitute/cromwell:$CROMWELL_VERSION|" terra-batch-libchart/values.yaml
80+
6781
git diff
6882
git config --global user.name "broadbot"
6983
git config --global user.email "broadbot@broadinstitute.org"
70-
git commit -am "Auto update to Cromwell $CROMWELL_SNAP_VERSION"
84+
git commit -am "Auto update to Cromwell $CROMWELL_VERSION"
7185
git push https://broadbot:$BROADBOT_GITHUB_TOKEN@github.com/broadinstitute/cromwhelm.git main
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: 'Cromwell unit tests'
2+
3+
#This github action runs all of Cromwell's unit tests.
4+
5+
#This is what shows up in the github workflows page as the title.
6+
run-name: ${{ github.actor }} running Cromwell sbt unit tests.
7+
8+
#What will trigger the workflow to run.
9+
on:
10+
workflow_dispatch: #Manual trigger from GitHub UI
11+
push:
12+
merge_group:
13+
14+
permissions:
15+
contents: read
16+
17+
jobs:
18+
build-and-test:
19+
#This action is using a Github free runner, rather than a Broad self-hosted one.
20+
#This is because the Broad ones don't have sbt installed by default.
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- uses: actions/checkout@v3 # checkout the cromwell repo
25+
- uses: ./.github/set_up_cromwell_action #Exectute this reusable github action. It will set up java/sbt/git-secrets/cromwell.
26+
with:
27+
cromwell_repo_token: ${{ secrets.BROADBOT_GITHUB_TOKEN }}
28+
29+
#Invoke SBT to run all unit tests for Cromwell.
30+
- name: Run tests
31+
run: |
32+
set -e
33+
sbt "test"

0 commit comments

Comments
 (0)