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

runner.aws_batch: Download .snakemake/metadata/ too #374

Merged
merged 1 commit into from
Jun 17, 2024
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
15 changes: 15 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,21 @@ development source code and as such may not be routinely kept up to date.

# __NEXT__

## Improvements

* Snakemake's per-input/output file metadata (stored in `.snakemake/metadata/`)
is now downloaded from AWS Batch builds by default. Like file modification
times (mtimes), which are already preserved from the remote build, this
additional metadata is used by Snakemake to track when inputs have changed
and when it should regenerate outputs. The metadata is also used in
[Snakemake report generation](https://snakemake.readthedocs.io/en/v8.14.0/snakefiles/reporting.html#rendering-reports)
and can be useful for gathering ad-hoc workflow statistics.

The runtime image used must be at least `nextstrain/base:build-20240617T235011Z`
for these Snakemake metadata files to be available for download from the AWS
Batch job.
([#374](https://github.com/nextstrain/cli/pull/374))


# 8.4.0 (29 May 2024)

Expand Down
6 changes: 5 additions & 1 deletion nextstrain/cli/runner/aws_batch/s3.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,12 @@ def download_workdir(remote_workdir: S3Object, workdir: Path, patterns: List[str
])

included = path_matcher([
# But we do want the Snakemake logs to come over.
# But we do want the Snakemake logs to come over
".snakemake/log/",

# …and the input/output metadata Snakemake tracks (akin to mtimes,
# which we also preserve).
".snakemake/metadata/",
])

if patterns:
Expand Down
Loading