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
fix: ensure that log and benchmark files are uploaded to storage as well #2545
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
johanneskoester
added a commit
that referenced
this pull request
Dec 20, 2023
🤖 I have created a release *beep* *boop* --- ## [8.0.0](v7.32.2...v8.0.0) (2023-12-20) ### ⚠ BREAKING CHANGES Snakemake 8 marks the beginning of decomposing Snakemake into a framework of plugins. This enables the democratization of method development within the Snakemake ecosystem. We start with plugins for storage and execution backends. In the future, there will be plugins for the scheduling, metadata, software deployment, reporting, and many more. This way, it will be possible to easily launch and explore new developments in workflow management and reproducible data analysis without the need to get your work merged into the main codebase of Snakemake and also without the need to develop a new workflow management system as a proof of concept. In detail, Snakemake 8 introduces the following changes. Unfortunately it was unavoidable to break some usages (we apologize). Nevertheless, we tried to ensure that every removed or modified feature has been replaced with an equivalent reimplementation, as outlined in our [migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8). While Snakemake 8 has an even more thorough testing framework than any release before, and while it has been quite heavily tested in practice by us, you might initially experience bugs and glitches for which we want to apologize beforehand. We think that the massive codebase improvements are worth it in the long run, and hope that everything goes well. As always, any pull requests with test cases and pointers to bugs are more than welcome. #### Detailed breaking changes * removed the long time ago deprecated support for dynamic, version, and subworkflow (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) * migrated old remote providers into storage plugins (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) * migrated execution backends into plugins, including a change in the respective command line interfaces (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) * deprecates `--use-conda` and `--use-singularity` in favor of `--software-deployment-method conda` or `--software-deployment-method apptainer` and `--software-deployment-method conda apptainer` (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) * profile support is now versioned, such that different profiles can be written for different minimum Snakemake versions (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) * redesigned Snakemake API. It now uses a modern, dataclass based approach (see [the migration docs](https://snakemake.readthedocs.io/en/latest/getting_started/migration.html#migrating-to-snakemake-8)) ### Features * add ability to inject conda environments into running Snakefile ([#2479](#2479)) ([6140e29](6140e29)) * add functionality for deploying sources if no shared FS is assumed ([#2486](#2486)) ([76eac3c](76eac3c)) * add option to control software deployment mode (shared or non shared FS) ([#2525](#2525)) ([04ec2c0](04ec2c0)) * allow detailed configuration of shared FS usage ([#2528](#2528)) ([0d34be9](0d34be9)) * allow environment variables in string values of profile (e.g. paths may now contain elements like $USER). ([58dc70c](58dc70c)) * allow python expressions in --set-resources ([#2521](#2521)) ([022a31e](022a31e)) * allow to set latency_wait in executor test suite ([c0bca0b](c0bca0b)) * automatically upload workflow sources to default storage provider if no shared FS is used ([a450c49](a450c49)) * Faster ci test setup ([#2489](#2489)) ([4798e8a](4798e8a)) * implement precommand ([#2482](#2482)) ([ff0f979](ff0f979)) * redesigned Snakemake API. It now uses a modern, dataclass based approach ([#2403](#2403)) ([2be3bfa](2be3bfa)) * support for external executor plugins ([#2305](#2305)) ([c9eaa4e](c9eaa4e)) * version specific profile config files (profile/config.v8+.yaml with profile/config.yaml as fallback that matches any version) ([#2498](#2498)) ([47e5811](47e5811)) ### Bug Fixes * adapt to changes in snakemake-interface-executor-plugins ([635c68a](635c68a)) * add storage provider args to deploy sources command ([67178e3](67178e3)) * add testcase for script directive to work with Python 3.7 and corresponding fix. ([0b4ae2e](0b4ae2e)) * allow pepfile and pepschema to take pathlib ([#2546](#2546)) ([ca91661](ca91661)) * also inherit rule proxies if there is no rulename modifier specified in a use rule statement ([#2440](#2440)) ([1570289](1570289)) * assume at most 8GB memory for default resources. This way, we avoid exploding memory requirements for large input files that are very unlikely to be put entirely into memory by any tool. ([11c2ecc](11c2ecc)) * comparison to float in scheduler ([ef44d84](ef44d84)) * detect job paths that leave and then enter a group. Such paths are invalid because then the group depends on itself. ([#2527](#2527)) ([5383a4d](5383a4d)) * ensure that auto deployment of default storage provider works in containers with read-only root home. ([1a347ff](1a347ff)) * ensure that log and benchmark files are uploaded to storage as well ([#2545](#2545)) ([6aabb5d](6aabb5d)) * ensure that targetjob is always forced. This fixes a bug causing run-directive rules to not being executed even when enforced via e.g. -R. ([#2448](#2448)) ([b2a60d5](b2a60d5)) * fix cache handling and unlock handling ([2f4d5e1](2f4d5e1)) * fix nargs definition for --deploy-sources ([fc252c8](fc252c8)) * fix path handling when detective profiles ([fe63881](fe63881)) * fix storage handling on windows by converting all paths to posix paths ([#2519](#2519)) ([7864a76](7864a76)) * handle different f-string tokens in py3.12 ([#2485](#2485)) ([f2c7613](f2c7613)) * handle storage for local jobs; add test case ([6d978ef](6d978ef)) * handling of group jobs when obtaining temp input files ([71be1de](71be1de)) * import ([#2402](#2402)) ([2c831f1](2c831f1)) * improved error handling for storage upload; fixed bugs caused by outdated calls to IOFile.exists(). ([720bb84](720bb84)) * improved error messages in case of invalid storage queries ([9671fd0](9671fd0)) * in addition to localrules statement, infer that job is local if it has any input or output file that is marked as local ([#2541](#2541)) ([e8b682b](e8b682b)) * only deactivate conda inject envs upon workflow tear down ([#2503](#2503)) ([e6dfdd4](e6dfdd4)) * Panoptes --wms-monitor-arg ([#2444](#2444)) ([98d2bdf](98d2bdf)) * proper reuse of rule proxies when importing several times from the same module ([#2404](#2404)) ([e867dda](e867dda)) * Restore backward compatibility for Google Life Sciences executor ([#2461](#2461)) ([5e3a464](5e3a464)) * shadow "full" mode ignore symlinks ([#2516](#2516)) ([1d58120](1d58120)) * show failed logs in executor testcases ([92f7bf4](92f7bf4)) * Slack log service ([#2537](#2537)) ([26eb4ba](26eb4ba)) * sort report (sub-)categories in lexicographical order ([#2449](#2449)) ([d0705ad](d0705ad)) * update minimum snakemake-interface-storage-plugins version ([0ef7226](0ef7226)) * use temporary directory (faster, more likely local, always writable) for persistence and source cache in case of remote execution without shared fs ([#2502](#2502)) ([c8fa7ba](c8fa7ba)) * wait for logs before showing them on error ([a4ff328](a4ff328)) ### Documentation * document name directive with example ([#2534](#2534)) ([cce5551](cce5551)) * fix syntax in cluster example ([#2460](#2460)) ([64e9645](64e9645)) * notes on arm based machines in tutorial docs ([0586f04](0586f04)) * **rust:** Fix typo on rust-script version ([#2488](#2488)) ([a79dd94](a79dd94)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Johannes Köster <johannes.koester@tu-dortmund.de>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
QC
docs/
) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).