Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/build_publish_copy_app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Build & publish 'dxCompiler Copy File' app
on:
workflow_dispatch:
inputs:
is-staging:
description: 'Deploy to staging? (true/false)'
required: false
type: choice
default: 'true'
options:
- 'true'
- 'false'
publish-app:
description: 'Publish app? (true/false)'
required: false
type: choice
default: 'false'
options:
- 'true'
- 'false'

permissions:
contents: write
packages: read

jobs:
deploy_app:
runs-on: ubuntu-24.04

steps:
- name: Checkout Repo
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ github.head_ref || github.ref_name }}

- name: Install dxpy
run: |
python3 -m pip install dxpy
which dx

- name: Login to platform
run: |
if [[ ${{ inputs.is-staging }} == "true" ]]; then
staging_param="--staging"
fi
token="${{ inputs.is-staging == 'true' && secrets.DX_STAGING_ROBOT_TOKEN || secrets.DX_PROD_RELEASE_TOKEN }}"
dx login --token $token --noprojects $staging_param

- name: Build and publish 'dxCompiler Copy File' app
run: |
if [[ ${{ inputs.publish-app }} == "true" ]]; then
publish_param="--publish"
fi
dx build --app --bill-to org-dnanexus_apps $publish_param scripts/dxcompiler_copy
6 changes: 6 additions & 0 deletions doc/Developing.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,11 @@ You should always run the unit tests after every successful compile. Generally,

You need to have a DNAnexus account and be logged into DNAnexus via the command line before you can run the tests (`dx login`). Your default project has to be `dxCompiler_playground` upon login.

```shell
dx login --staging --noprojects --save --token=<your_staging_token_value>
dx select project-Fy9QqgQ0yzZbg9KXKP4Jz6Yq
```

### Running the integration tests

Integration tests actually build and run apps/workflows on DNAnexus. These tests take much longer to run than the unit tests, and so typically you only run them before submitting a pull request. You can also submit a PR and trigger the integration tests via Github Actions.
Expand Down Expand Up @@ -268,4 +273,5 @@ dx api project-xxxx invite '{"invitee": "PUBLIC", "level": "VIEW"}'
updated (one line change).
* The app used for copying the assets to different regions during a release ([app-dxwdl_copy](/scripts/dxcompiler_copy))
needs to be enabled in the new region (please update `regionalOptions`, `whatsNew`, and increment the `version` of the app).
* To publish `dxwdl_copy` app (`Copy file`) go to `Actions` > `Build & publish 'dxCompiler Copy File' app` and click `Run workflow` on the right side.
* Update the script for [multi-region testing](/scripts/multi_region_tests.py#L24).
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ class WdlTaskExecutorTest extends AnyFlatSpec with Matchers {
}
// sometimes it takes a while for the output file to close -
// block here until the file is closed
if (!Iterator.range(0, 10).exists { i =>
if (!Iterator.range(0, 20).exists { i =>
if (i > 0) {
Thread.sleep(6000)
}
Expand Down
3 changes: 0 additions & 3 deletions scripts/Makefile

This file was deleted.

Loading