Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[not for merge] DESC release branch #2012

Draft
wants to merge 973 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
973 commits
Select commit Hold shift + click to select a range
0b2c0bd
Make retry tests wait for all launched tasks before finishing
benclifford Jan 17, 2022
a596e4f
Merge branch 'benc-retry-tests-wait' into m/maintenance
benclifford Jan 18, 2022
295471c
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 18, 2022
05cc166
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Jan 18, 2022
c25e732
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Jan 18, 2022
1719356
Merge heads/m/descbase into desc
benclifford Jan 18, 2022
e1996eb
Format BadStateException with the executor label rather than full repr
benclifford Jan 25, 2022
7411956
Merge branch 'benc-human-BadStateException' into m/maintenance
benclifford Jan 25, 2022
9d7a1cc
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Jan 25, 2022
a5ee824
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 25, 2022
52e5a76
Add in additional logging around shutdown, to help with ongoing misbe…
benclifford Jan 25, 2022
2fe6bc6
Merge branch 'benc-human-shutdown-executors-logging' into m/maintenance
benclifford Jan 25, 2022
6e733c6
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 25, 2022
d2798c4
Tidy HighThroughputExecutor shutdown function to remove incorrect com…
benclifford Jan 25, 2022
9a25889
Merge branch 'benc-htex-shutdown-tidy' into m/maintenance
benclifford Jan 25, 2022
08c04c8
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 25, 2022
bf0c1f4
fix duplicate merge of badstateexception
benclifford Jan 25, 2022
c00823c
Explicitly shut down htex after bad state test
benclifford Jan 25, 2022
ad23991
Merge branch 'benc-ci-htex-shutdown' into m/maintenance
benclifford Jan 25, 2022
cadf389
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 25, 2022
b52c140
Merge branch 'master' into benc-retry-tests-wait
benclifford Jan 26, 2022
755e0c7
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Jan 27, 2022
eb542a7
Merge heads/m/maintenance-457-gcadf389498 into desc
benclifford Jan 27, 2022
2194c3d
Merge recent master changes into DESC
benclifford Jan 27, 2022
6012698
benclifford Jan 27, 2022
3b3548e
Rephrase Hub when it means router
benclifford Jan 17, 2022
e72906b
Tidy up documentation for PBS providers
benclifford Dec 29, 2021
15825c4
Change docstring example to htex or WQ, rather than IPP/Swift/T
benclifford Jan 7, 2022
fb378b4
run_id does not need to be configurable - there are other monitoring …
benclifford Jan 19, 2022
7de8eaa
Rephrase optional module missing error
benclifford Apr 12, 2021
e5c31d8
Merge branch 'benc-doc-runid-no-config2' into m/maintenance
benclifford Jan 30, 2022
4be4218
Merge branch 'benc-doc-ipp-swift' into m/maintenance
benclifford Jan 30, 2022
770b298
Merge branch 'benc-pbs-doc' into m/maintenance
benclifford Jan 30, 2022
6711d60
Merge branch 'benc-optional-module-error' into m/maintenance
benclifford Jan 30, 2022
506ad79
Merge branch 'benc-rephrase-hub-router' into m/maintenance
benclifford Jan 30, 2022
74817b3
Merge branch 'm/maintenance' into m/descbase
benclifford Jan 30, 2022
6ffcf00
remove monitoring cpu percent field
benclifford Jan 31, 2022
79b7b06
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Feb 7, 2022
cb7273d
Merge branch 'master' into benc-retry-tests-wait
benclifford Feb 10, 2022
0c630b6
Merge remote-tracking branch 'origin/master' into benc-human-jobstate
benclifford Feb 15, 2022
ee44c6b
Merge remote-tracking branch 'origin/master' into benc-human-jobstate
benclifford Feb 15, 2022
0dc7887
Add doc for state parameter
benclifford Feb 15, 2022
dabe2a4
Merge branch 'benc-human-jobstate' into m/maintenance
benclifford Feb 16, 2022
baf2dcb
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Feb 16, 2022
f27f1c4
Merge branch 'm/maintenance' into m/descbase
benclifford Feb 16, 2022
cf46172
Merge heads/m/descbase into desc
benclifford Feb 16, 2022
60c2ca0
Fix broken PR #2192 task state counting
benclifford Feb 17, 2022
f8df5e6
Merge branch 'benc-fix-2192' into m/maintenance
benclifford Feb 17, 2022
9dd4956
Merge branch 'm/maintenance' into m/descbase
benclifford Feb 17, 2022
168efa8
Merge heads/m/descbase into desc
benclifford Feb 17, 2022
2d96290
benclifford Feb 17, 2022
d346923
benclifford Feb 17, 2022
b86860e
benclifford Feb 17, 2022
85d6bca
benclifford Feb 22, 2022
4e87022
benclifford Feb 24, 2022
2116761
benclifford Feb 24, 2022
995b54d
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Feb 24, 2022
c637717
Merge heads/m/descbase into desc
benclifford Feb 24, 2022
6bf0c54
benclifford Feb 25, 2022
cdc6a10
Fix race condition between WorkQueue task submission and scaling
benclifford Feb 28, 2022
d219d9e
Merge branch 'benc-wq-vs-flowcontrol' into m/maintenance
benclifford Feb 28, 2022
a36e25a
Merge branch 'm/maintenance' into m/descbase
benclifford Feb 28, 2022
e99331b
Merge heads/m/descbase into desc
benclifford Feb 28, 2022
2d9fd9a
Merge branch 'master' into benc-retry-tests-wait
benclifford Feb 28, 2022
1cdd8e9
Fix test task wait behaviour that could leave tasks running
benclifford Feb 28, 2022
2239ba6
benclifford Feb 28, 2022
1bef5d4
benclifford Feb 28, 2022
570162e
benclifford Mar 16, 2022
4d4df6d
Merge branch 'benc-retry-tests-wait' into m/maintenance
benclifford Mar 28, 2022
3998a8a
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Mar 28, 2022
7461165
Merge branch 'm/maintenance' into m/descbase
benclifford Mar 28, 2022
526288f
Merge heads/m/descbase into desc
benclifford Mar 28, 2022
02bf983
benclifford Mar 28, 2022
e9936cb
benclifford Mar 28, 2022
6046032
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Mar 31, 2022
26baaba
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Apr 1, 2022
22337fa
Merge heads/m/descbase into desc
benclifford Apr 1, 2022
312fcbd
benclifford Apr 1, 2022
532fbb9
add some locks around more zmq
benclifford Apr 7, 2022
861afc8
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford Apr 16, 2022
d78fc19
Merge latest master. Remove some TODOs from release.
benclifford Apr 19, 2022
508833f
fix hang at shutdown due to misnamed variable
benclifford Apr 20, 2022
b16249c
mostly more granualar WQ timing loads
benclifford May 13, 2022
7f00733
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford May 13, 2022
40cc9aa
Merge remote-tracking branch 'origin/master' into m/descbase
benclifford May 13, 2022
dbf2e6d
Merge latest parsl master PRs into desc
benclifford May 13, 2022
3ef27cc
fix broken checkpoint test
benclifford May 13, 2022
e97747a
fix flake8
benclifford May 13, 2022
4c2a655
add some debugging against hang of strategy I've seen in CI
benclifford May 13, 2022
23cf831
ongoing rearrangement for merge/tidy - biggest change is removal of h…
benclifford May 18, 2022
2b9859c
add in logging of module imports inside WQ for david adams performance
benclifford May 18, 2022
c1e44f5
fix lint errors
benclifford May 18, 2022
19ec35e
fiddling with types for a CI mypy failure that doesn't happen on my l…
benclifford May 18, 2022
730468b
fix bad kind tidyup
benclifford May 18, 2022
453736e
fix for quentin
benclifford May 20, 2022
c014505
fiddling with typechecking for quentin fix
benclifford May 20, 2022
3daa3ad
hack a bad interaction between monitor wrapper and some monitoring-ov…
benclifford May 23, 2022
2d7ceda
more rearranging to resolve desc vs master htex monitoring conflict
benclifford May 23, 2022
4ae1468
add 2259 fix from pr 2263
benclifford May 24, 2022
2cfe7bf
Add latest master merges
benclifford Jun 7, 2022
7d1fdf9
Ongoing merge work with master.
benclifford Jun 8, 2022
4e39a0c
bring in latest master PR #2265
benclifford Jun 8, 2022
ce0e9b9
bring in many recent PRs, most of which do not change code.
benclifford Jun 14, 2022
d915d6e
add attempt to transmit only changed block status, for scalability
benclifford Jun 14, 2022
5c26f7d
General update of recent changes
benclifford Jun 24, 2022
3b6805b
Use a type alias for monitoring messages for clarity
benclifford Jun 28, 2022
968ebe9
merge in minor recent changes
benclifford Jun 28, 2022
23ef6dc
update version number
benclifford Jun 28, 2022
d5d1a55
upgrade mypy; fiddle with monitoring type annotations
benclifford Jun 28, 2022
09b3217
Merge with latest master/minor changes
benclifford Jun 30, 2022
3fb212f
Merge recent changes - mostly human readable text
benclifford Jul 13, 2022
a6fb29d
Add bodge for perlmutter race condition
benclifford Jul 13, 2022
8d61f96
Latest desc changes
benclifford Jul 29, 2022
472db98
Merge latest into desc
benclifford Aug 4, 2022
ae55ccd
merge in minor tidyups from patch stack
benclifford Aug 4, 2022
68ebc9e
Merge ongoing work, no serious new features
benclifford Aug 9, 2022
8270407
latest changes, incl minor bugfix for HOLD_WORKER format string error
benclifford Aug 9, 2022
22fa476
fiddling with logging and checkpointing
benclifford Aug 10, 2022
fb18b26
latest changes
benclifford Aug 16, 2022
57ed99a
bump version
benclifford Aug 16, 2022
d092b73
merge task record related changes from master
benclifford Aug 16, 2022
abc0c12
Add additional typecheck for checkpointing
benclifford Aug 16, 2022
f058f73
remove apparently unused code to simplify understanding of poll loops…
benclifford Aug 19, 2022
c8d8e7a
fix circular import in typechecking change
benclifford Aug 24, 2022
899da03
Latest updates. No serious functionality changes.
benclifford Sep 6, 2022
090c957
Tidy zmq pipe exponential backoff in prep for master merge
benclifford Sep 6, 2022
e45046a
Ongoing tidy up work
benclifford Sep 6, 2022
bdb9ab4
merge recent minor tidyups towards merging to master
benclifford Sep 7, 2022
4726afb
Add more debugging around command channel potential hang
benclifford Sep 7, 2022
74307ed
Checkpoint of latest work before introducing deep serialization/monit…
benclifford Sep 23, 2022
4fd936a
changes to do with launch rate limit of parsl monitoring wrapper vs s…
benclifford Sep 23, 2022
e9c490c
fix a module reference i should have changed earlier
benclifford Sep 23, 2022
8acfbc3
mostly add in parsl.trace experimental tracing around wq task launch
benclifford Sep 26, 2022
bf66c05
add in ability to store wq function files in /tmp for potential launc…
benclifford Sep 26, 2022
3546801
Add some more event timings around places David Adams' test runs look…
benclifford Sep 28, 2022
1cbdcd3
merge CI fix from master, and fix flake8-enforced style
benclifford Sep 28, 2022
9f6e1de
flake8/mypy fixes
benclifford Sep 28, 2022
1d8fb15
Bring in latest master. Rework parsl serialization singleton code.
benclifford Oct 17, 2022
19277ee
more ongoing work - most immediately, some mkdir fixes
benclifford Oct 20, 2022
7659f27
Bring in latest master. Add lazy module import for import speedups, e…
benclifford Oct 28, 2022
1c5bc49
fix type checking in lazy imports
benclifford Oct 31, 2022
c9336fb
tickle version number
benclifford Oct 31, 2022
a82cf0b
work on errors and lazy imports
benclifford Oct 31, 2022
ebcbfb7
Merge latest - just a typo fix
benclifford Nov 7, 2022
fc7219f
Add a result-time radio mode
benclifford Nov 7, 2022
c8c906e
radio mode fix for htex
benclifford Nov 7, 2022
9520e40
fix monitoring radio defaulting
benclifford Nov 7, 2022
efd55ea
more default radio messing around
benclifford Nov 7, 2022
a9b16da
Logging: clarification of task ID types, and tighter logging around m…
benclifford Nov 8, 2022
94f6828
explicitly log message send duration, so that I don't need to correla…
benclifford Nov 8, 2022
a5ed261
typo
benclifford Nov 8, 2022
6c46a2b
bugfix ResultRadio 'running' status and merge master
benclifford Nov 15, 2022
da212e4
merge latest master branch - brings in new executor front end
benclifford Nov 17, 2022
6828d90
Renaming of an internal class - shouldn't affect users
benclifford Nov 17, 2022
b08fed8
general update of recent parsl development
benclifford Nov 30, 2022
f4f5326
bump version, forgotten in previous commit
benclifford Nov 30, 2022
2fe78ec
various PRs from master to do with testing
benclifford Dec 14, 2022
f9e91bc
general update of ongoing dev
benclifford Dec 20, 2022
d9cf24b
merge ongoing dev.
benclifford Jan 4, 2023
ee0743c
ongoing development, and merge from master
benclifford Jan 16, 2023
50aea82
benclifford Jan 18, 2023
97d02b0
merge a lot of recent master branch stuff
benclifford Feb 6, 2023
40dbbd8
remove lazy loading debug prints
benclifford Feb 6, 2023
e49eb81
Ongoing master merge work
benclifford Feb 9, 2023
58a86d5
Publish latest set of generally minor changes
benclifford Mar 7, 2023
8f8024f
Add __init__.py to parsl.benchmark to make it a proper module
benclifford Mar 8, 2023
a210256
general update against current master branch
benclifford Mar 22, 2023
8db4605
Bring in some human text clarifications from master
benclifford Mar 23, 2023
e7e8fb3
latest master - most relevant for DESC is parsl coprocess support
benclifford Mar 27, 2023
a107b22
Turn on monitoring in WQ coprocess test
benclifford Mar 27, 2023
2164988
merge latest master. add some changes to help forward port to sqlalch…
benclifford Apr 11, 2023
0e617fb
support for sqlalchemy 2
benclifford Apr 12, 2023
8df84d2
remove a test that isn't expected to work until some other upgrade ha…
benclifford Apr 12, 2023
2d29492
schema fixes to help run monitoring on postgres
benclifford Apr 12, 2023
282b7b7
Merge heads/benc-mypy into desc
benclifford Apr 24, 2023
8e3dc9a
Bring in latest parsl master
benclifford May 15, 2023
c6db91a
bring in desc-relevant bugfixes opened as PRs; fiddle with WorkQueue …
benclifford May 15, 2023
4e94a31
fiddling with test suite: fix flake8 and add a new test for viz
benclifford May 15, 2023
537ba5d
Attempt to fix imports in non-monitoring enabled environment
benclifford May 15, 2023
221bdbf
fix flake8
benclifford May 15, 2023
4a7822e
Merge latest master - mostly some quite aggressive tidyups
benclifford May 30, 2023
dc2729c
Add a WQ coprocess vs no-shared-fs bugfix, and bring in latest master
benclifford Jun 2, 2023
393ea80
Mostly bring in updates from parsl master
benclifford Jul 6, 2023
4bc1927
fix makefile target names improperly rebased
benclifford Jul 6, 2023
1e3dfe6
hopefully fix CI hang by merging in PR 2804
benclifford Jul 6, 2023
6a6ff16
bring in recent master - most relevant: dependency changes, configura…
benclifford Jul 20, 2023
bc07d2a
Merge master into desc
benclifford Jul 24, 2023
11f459a
Fix mypy vs lazy imports error that probably comes from peturbing imp…
benclifford Jul 24, 2023
177b33a
Fiddling around with parsl.tracing to trace some slowness I've seen o…
benclifford Jul 24, 2023
e272111
bump version
benclifford Jul 24, 2023
dc4133b
most relevant, workaround a severe performance degradation i am inves…
benclifford Jul 26, 2023
0935180
this adds in a bunch of log messages to help with debugging hangs que…
benclifford Jul 28, 2023
ce476df
bump version
benclifford Jul 28, 2023
c13bdda
merge latest master - mostly serializer related changes
benclifford Jul 28, 2023
c8508ce
Merge master, work on serializer cache efficency failure
benclifford Aug 1, 2023
f646540
fix flake8 errors
benclifford Aug 1, 2023
c851cf0
Merge recent master and desc dev
benclifford Oct 13, 2023
f76053c
Upgrade cctools
benclifford Oct 13, 2023
4c65f3f
merge in more PRs from master, and PR #2910 to help debug a mysteriou…
benclifford Oct 14, 2023
0d23d4e
Merge latest master into desc
benclifford Oct 26, 2023
32ae754
add some process resource monitoring fields at request of david adams
benclifford Oct 27, 2023
8e4f0d4
bump WQ version to address a segfault happening in CI
benclifford Oct 27, 2023
fb71b55
Bring in recent master work, mostly tidyups
benclifford Nov 10, 2023
6559706
bring in latest master; fix a lint failure
benclifford Nov 13, 2023
46adaa5
Debugging unexpected CI behaviour
benclifford Nov 13, 2023
77fb2bd
Update from master. remove some debugging from earlier today. turn on…
benclifford Nov 13, 2023
2919934
fix config error
benclifford Nov 13, 2023
3ac0c03
visualization dependencies missing from desc-branch peturbed tests, a…
benclifford Nov 13, 2023
3f13696
Rename internal fields in desc branch tests that have changed in mast…
benclifford Nov 13, 2023
05f31a1
remove a test that shouldn't hold any more, due to rearranging serial…
benclifford Nov 13, 2023
c072a86
Update master. Track CI related virtualenv changes in desc branch CI
benclifford Nov 13, 2023
9361ad3
Bring in latest master branch. Switch monitoring radio back to filesy…
benclifford Nov 15, 2023
cb862d5
Merge master. Fix incorrectly rearranged code that caused CI hangs: =…
benclifford Nov 20, 2023
785aa8c
Add a timout into htex command channel for hangs around missing inter…
benclifford Nov 20, 2023
1b4adc5
More aggressive shutdown handling: should now result in a failed test…
benclifford Nov 20, 2023
11a383a
Revert "More aggressive shutdown handling: should now result in a fai…
benclifford Nov 20, 2023
b8edf0e
try zmq command channel timeouts again
benclifford Nov 20, 2023
5b52aa9
Skip #2755 test until #2755 is fixed
benclifford Nov 21, 2023
e8d0be2
Try out latest gen3 workflow in CI to get deeper testing; add a few m…
benclifford Nov 21, 2023
06525b4
More messing with CI
benclifford Nov 21, 2023
3bfb236
more messing with CI
benclifford Nov 21, 2023
1b6f777
more messing with CI
benclifford Nov 21, 2023
5852468
more messing with CI
benclifford Nov 21, 2023
17255a1
more messing with CI
benclifford Nov 21, 2023
432f07e
Bring in latest master
benclifford Nov 23, 2023
b3f49ff
Update task_inputs on every task monitoring update, so that the final…
benclifford Nov 23, 2023
bfe0fdb
merge latest master. add tool to periodically survey every process on…
benclifford Dec 1, 2023
4f6db7e
Allow user suppression of forked process monitor, while keeping start…
benclifford Dec 11, 2023
5575005
Bring in a lot of changes to parsl master
benclifford Feb 12, 2024
fda4fec
bring in recent master branch changes
benclifford Feb 22, 2024
16871b1
Bring in latest master branch changes
benclifford Mar 4, 2024
b595bca
a bunch of code cleanup work
benclifford Mar 4, 2024
00b983c
bump version
benclifford Mar 4, 2024
d1f9261
Merge a lot of recent master-branch tidyup work into DESC branch
benclifford May 2, 2024
11f6326
add PR 3409
benclifford May 2, 2024
f71bde8
a bit more work on rundir creation, and merge more master
benclifford May 2, 2024
416950b
merge latest parsl master branch
benclifford Jul 18, 2024
0b00a7c
fix docs build breakage in lazy-import patch
benclifford Jul 18, 2024
3d1334b
update to latest master
benclifford Aug 14, 2024
526ab75
Remove abandoned feature that tried to make some magic keywords optio…
benclifford Aug 14, 2024
e5603a7
Removed lazy import prototype
benclifford Aug 14, 2024
feebc38
Update to 2024.10.07
benclifford Oct 8, 2024
7778c08
Bring in PR 3631
benclifford Oct 10, 2024
583fa42
replace interchange-based outstanding task count with submit-side str…
benclifford Oct 10, 2024
e459d62
bugfix heartbeat
benclifford Oct 22, 2024
a78dcf5
update to latest Parsl master branch
benclifford Nov 14, 2024
06bb080
Remove ResultsRadio experiment
benclifford Nov 14, 2024
78bcfa5
Update latest parsl release
benclifford Nov 27, 2024
92114c6
update to latest Parsl master; remove some defunct monitoring prototypes
benclifford Dec 11, 2024
8772f09
fix up broken filesystem radio shutdown
benclifford Dec 11, 2024
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
92 changes: 92 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,13 @@ jobs:
pip install .[monitoring,visualization]
parsl/tests/test-viz.sh

# config_local_test comes after viz so that the large monitoring.db
# created by `make test` is still around
- name: make config_local_test
run: |
source .venv/bin/activate
make config_local_test

- name: make coverage
run: |
source .venv/bin/activate
Expand All @@ -109,3 +116,88 @@ jobs:
pytest-parsl/
ci_job_info.txt
compression-level: 9


gen3:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ ubuntu-latest ]
py: [ "3.11" ]
CC: [ gcc ]
CXX: [ g++ ]

defaults:
run:
# cf. https://github.com/conda-incubator/setup-miniconda#important
shell: bash -l {0}

steps:
- uses: actions/checkout@v2
with:
repository: LSSTDESC/gen3_workflow

- uses: actions/checkout@master
with:
path: ./parsl-repo

- name: Setup conda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: stack
python-version: "3.11"
condarc-file: etc/.condarc

- name: Install conda deps
run: |
conda info
conda list
conda install -y mamba
mamba install -y --file conda_requirements.txt
conda info
conda list


- name: Install workflow packages
run: |
# pip install -U --no-deps 'parsl[monitoring,workqueue] @ git+https://github.com/parsl/parsl@desc'
pip install -U --no-deps './parsl-repo[monitoring,workqueue]'
pip install typeguard tblib paramiko dill pyzmq globus-sdk sqlalchemy_utils
conda install -c conda-forge ndcctools=7.6.1=py311h689c632_0 --no-deps

- name: Clone gen3_workflow checkout the branch
shell: bash -l {0}
run: |
echo pwd
pwd

echo ls
ls

echo Cloning gen3_workflow repo
git clone https://github.com/LSSTDESC/gen3_workflow

echo declaring gen3_workflow to eups
eups declare gen3_workflow -r ${PWD}/gen3_workflow -t current

cd gen3_workflow
git fetch origin master:TESTING
git checkout TESTING

- name: Run the test pipelines
run: |
setup gen3_workflow
(eups list lsst_distrib) 2>&1 | grep -v "Unknown tag"
(eups list gen3_workflow) 2>&1 | grep -v "Unknown tag"
cd tests
pytest test_query_workflow.py test_bps_restart.py


- name: Archive test logs
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: testinfo-${{ matrix.python-version }}
path: gen3_workflow/

10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,16 @@ radical_local_test:
mkdir -p ~/.radical/pilot/configs && echo '{"localhost": {"virtenv_mode": "local"}}' > ~/.radical/pilot/configs/resource_local.json
pytest parsl/tests/ -k "not cleannet and not issue3328 and not executor_supports_std_stream_tuples" --config parsl/tests/configs/local_radical.py --random-order --durations 10

.PHONY: workqueue_mon_test
workqueue_mon_test: $(WORKQUEUE_INSTALL) ## run all tests with workqueue_ex config
pip3 install ".[monitoring]"
PYTHONPATH=.:/tmp/cctools/lib/python3.8/site-packages pytest parsl/tests/ -k "not cleannet and not issue363" --config parsl/tests/configs/workqueue_monitoring_config.py --cov=parsl --cov-append --cov-report= --random-order


.PHONY: config_local_test
config_local_test: $(CCTOOLS_INSTALL)
pip3 install ".[monitoring,visualization,proxystore,kubernetes]"
PYTHONPATH=/tmp/cctools/lib/python3.8/site-packages pytest parsl/tests/ -k "not cleannet" --config local --random-order --durations 10
PYTHONPATH=/tmp/cctools/lib/python3.8/site-packages pytest parsl/tests/ -k "not cleannet and not site" --config local --random-order --durations 10

.PHONY: site_test
site_test:
Expand All @@ -97,7 +103,7 @@ perf_test:
parsl-perf --time 5 --config parsl/tests/configs/local_threads.py

.PHONY: test ## run all tests with all config types
test: clean_coverage isort lint flake8 mypy local_thread_test htex_local_test htex_local_alternate_test wqex_local_test vineex_local_test radical_local_test config_local_test perf_test ## run all tests
test: clean_coverage isort lint flake8 mypy local_thread_test htex_local_test htex_local_alternate_test wqex_local_test workqueue_mon_test vineex_local_test radical_local_test perf_test ## run all tests

.PHONY: tag
tag: ## create a tag in git. to run, do a 'make VERSION="version string" tag
Expand Down
21 changes: 21 additions & 0 deletions docs/userguide/workflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -241,3 +241,24 @@ Caching expensive initialisation between tasks
Many tasks in workflows require a expensive "initialization" steps that, once performed, can be used across successive invocations for that task. For example, you may want to reuse a machine learning model for multiple interface tasks and avoid loading it onto GPUs more than once.

`This ExaWorks tutorial <https://github.com/ExaWorks/warmable-function-calls>`_ gives examples of how to do this.

Other useful patterns
=====================

This section is intended to list some patterns which are not to do with
parallelism and concurrency, but still might be useful in parsl workflows

Environment wrappers for bash_apps
----------------------------------

This usecase comes from DESC DRP v2.

Sometimes a bash app command must be run in a particular environment, for
example, inside a container started by shifter or singularity. [TODO URLs for
those two]

So although the app commandline might look like:

.. code-block::

myscience input.txt 5 10
9 changes: 4 additions & 5 deletions parsl/app/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from typing import Any, Callable, Dict, List, Optional, Sequence, Union

import typeguard
from typing_extensions import Literal

from parsl.dataflow.dflow import DataFlowKernel
from parsl.dataflow.futures import AppFuture
Expand All @@ -27,7 +26,7 @@ class AppBase(metaclass=ABCMeta):
@typeguard.typechecked
def __init__(self, func: Callable,
data_flow_kernel: Optional[DataFlowKernel] = None,
executors: Union[List[str], Literal['all']] = 'all',
executors: Union[List[str], str] = 'all',
cache: bool = False,
ignore_for_cache: Optional[Sequence[str]] = None) -> None:
"""Construct the App object.
Expand Down Expand Up @@ -80,7 +79,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> AppFuture:
def python_app(function: Optional[Callable] = None,
data_flow_kernel: Optional[DataFlowKernel] = None,
cache: bool = False,
executors: Union[List[str], Literal['all']] = 'all',
executors: Union[List[str], str] = 'all',
ignore_for_cache: Optional[Sequence[str]] = None) -> Callable:
"""Decorator function for making python apps.

Expand Down Expand Up @@ -146,7 +145,7 @@ def wrapper(f: Callable) -> PythonApp:
return PythonApp(f,
data_flow_kernel=data_flow_kernel,
cache=cache,
executors=["_parsl_internal"],
executors="_parsl_internal",
ignore_for_cache=ignore_for_cache,
join=True)
return wrapper(func)
Expand All @@ -159,7 +158,7 @@ def wrapper(f: Callable) -> PythonApp:
def bash_app(function: Optional[Callable] = None,
data_flow_kernel: Optional[DataFlowKernel] = None,
cache: bool = False,
executors: Union[List[str], Literal['all']] = 'all',
executors: Union[List[str], str] = 'all',
ignore_for_cache: Optional[Sequence[str]] = None) -> Callable:
"""Decorator function for making bash apps.

Expand Down
2 changes: 2 additions & 0 deletions parsl/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ def _validate_executors(self) -> None:
if len(duplicates) > 0:
raise ConfigurationError('Executors must have unique labels ({})'.format(
', '.join(['label={}'.format(repr(d)) for d in duplicates])))
if 'all' in labels:
raise ConfigurationError('Executor cannot be labelled "all"')

def validate_usage_tracking(self, level: int) -> None:
if not USAGE_TRACKING_DISABLED <= level <= USAGE_TRACKING_LEVEL_3:
Expand Down
Loading
Loading