Skip to content

Commit 0c99bcf

Browse files
Merge branch 'main' into feat/item-access
2 parents 5bb278a + c3339da commit 0c99bcf

File tree

186 files changed

+4367
-1408
lines changed

Some content is hidden

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

186 files changed

+4367
-1408
lines changed

.github/workflows/main.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
with:
2525
environment-name: black
2626
create-args: black
27-
cache-environment: true
27+
cache-environment: false
2828

2929
- name: Check formatting
3030
shell: bash -el {0}
@@ -48,7 +48,7 @@ jobs:
4848
AWS_AVAILABLE: "${{ secrets.AWS_ACCESS_KEY_ID }}"
4949
GCP_AVAILABLE: "${{ secrets.GCP_SA_KEY }}"
5050
steps:
51-
- uses: actions/checkout@v3
51+
- uses: actions/checkout@v4
5252
with:
5353
fetch-depth: 0
5454

@@ -58,12 +58,13 @@ jobs:
5858
cp test-environment.yml test-environment-${{ matrix.py_ver }}.yml
5959
sed -E -i 's/- python.+/- python =${{ matrix.py_ver }}/' test-environment-${{ matrix.py_ver }}.yml
6060
61-
- name: Setup snakemke environment
62-
uses: mamba-org/setup-micromamba@v1
61+
- name: Setup snakemake environment
62+
uses: conda-incubator/setup-miniconda@v3
6363
with:
64+
miniforge-version: latest
6465
environment-file: test-environment-${{ matrix.py_ver }}.yml
6566
environment-name: snakemake
66-
cache-environment: true
67+
auto-update-conda: true
6768

6869
- name: Install snakemake from source
6970
shell: bash -el {0}
@@ -81,6 +82,13 @@ jobs:
8182
sudo apt-get update
8283
sudo apt install -y stress git wget openmpi-bin libopenmpi-dev apptainer
8384
85+
# See https://github.com/apptainer/apptainer/pull/2262
86+
- name: Disable apparmor namespace restrictions for apptainer
87+
run: |
88+
sudo sh -c 'echo kernel.apparmor_restrict_unprivileged_userns=0 \
89+
>/etc/sysctl.d/90-disable-userns-restrictions.conf'
90+
sudo sysctl -p /etc/sysctl.d/90-disable-userns-restrictions.conf
91+
8492
- name: Test local
8593
env:
8694
CI: true
@@ -115,7 +123,7 @@ jobs:
115123
name: report-${{ matrix.py_ver }}.zip
116124
path: tests/test_report/report.zip
117125

118-
126+
119127
build-container-image:
120128
runs-on: ubuntu-latest
121129
needs: testing
@@ -132,7 +140,7 @@ jobs:
132140
runs-on: windows-latest
133141
needs: formatting
134142
steps:
135-
- uses: actions/checkout@v3
143+
- uses: actions/checkout@v4
136144
with:
137145
fetch-depth: 0
138146
- name: Remove unix-only dependencies
@@ -145,12 +153,12 @@ jobs:
145153
print(line, end="")
146154
147155
- name: Setup snakemake environment
148-
uses: mamba-org/setup-micromamba@v1
156+
uses: conda-incubator/setup-miniconda@v3
149157
with:
158+
miniforge-version: latest
150159
environment-file: test-environment.yml
151160
environment-name: snakemake
152-
init-shell: powershell
153-
cache-environment: true
161+
auto-update-conda: true
154162

155163
- name: Install snakemake from source
156164
run: |
@@ -162,4 +170,4 @@ jobs:
162170
CI: true
163171
ZENODO_SANDBOX_PAT: "${{ secrets.ZENODO_SANDBOX_PAT }}"
164172
run: |
165-
python -m pytest --show-capture=stderr -v -x --splits 10 --group ${{ matrix.test_group }} --splitting-algorithm=least_duration tests/tests.py
173+
python -m pytest --show-capture=stderr -v -x --splits 10 --group ${{ matrix.test_group }} --splitting-algorithm=least_duration tests/tests.py

.github/workflows/release-please.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
release-type: python
1717
package-name: snakemake
1818

19-
- uses: actions/checkout@v3
19+
- uses: actions/checkout@v4
2020
if: ${{ steps.release.outputs.release_created }}
2121
with:
2222
fetch-depth: 0
@@ -26,7 +26,7 @@ jobs:
2626
uses: actions/setup-python@v5
2727
with:
2828
python-version: '3.x'
29-
29+
3030
- name: Build and check package
3131
if: ${{ steps.release.outputs.release_created }}
3232
run: |

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ dist/
2828
tests/test*/*
2929
playground/*
3030
tutorial/*
31+
32+
snakemake/assets/data

CHANGELOG.md

Lines changed: 386 additions & 0 deletions
Large diffs are not rendered by default.

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN micromamba create -q -y -c bioconda -c conda-forge -n snakemake \
1919
snakemake-minimal --only-deps && \
2020
eval "$(micromamba shell hook --shell bash)" && \
2121
micromamba activate /opt/conda/envs/snakemake && \
22-
micromamba install -c conda-forge mamba && \
22+
micromamba install -c conda-forge conda && \
2323
micromamba clean --all -y
2424

2525
ENV PATH /opt/conda/envs/snakemake/bin:/opt/conda/envs/apptainer/bin:${PATH}

MANIFEST.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
include versioneer.py
22
include snakemake/_version.py
33
include LICENSE.md
4+
5+
# Include tests in sdist, otherwise only tests/test*.py are included by default
6+
graft tests

apidocs/api_reference/snakemake_api.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ It can be used as follows:
1818
1919
with api.SnakemakeApi(
2020
settings.OutputSettings(
21-
verbose=True,
21+
verbose=False,
2222
show_failed_logs=True,
2323
),
2424
) as snakemake_api:
@@ -30,6 +30,7 @@ It can be used as follows:
3030
dag_api = workflow_api.dag()
3131
# Go on by calling methods of the dag api.
3232
33+
3334
.. autosummary::
3435
:toctree: _autosummary
3536
:template: module_template.rst

doc-environment.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
channels:
22
- conda-forge
33
dependencies:
4-
- python >=3.7
4+
- python >=3.11
55
- datrie
66
- wrapt
77
- pyyaml
88
- requests
99
- appdirs
1010
- docutils
11-
- ratelimiter
11+
- throttler
1212
- configargparse
1313
- jsonschema
1414
- gitpython
1515
- sphinx
1616
- pip
1717
- pip:
1818
- sphinxcontrib-napoleon
19+
- snakemake-interface-common >=1.17.0
20+
- snakemake-interface-executor-plugins >=9.1.0
21+
- snakemake-interface-storage-plugins >=3.2.3
1922
- sphinx-argparse
2023
- sphinx_rtd_theme
24+
- sphinxawesome-theme
2125
- docutils
2226
- recommonmark
2327
- commonmark

docs/_static/custom.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@
1515
#content {
1616
overflow-x: auto;
1717
}
18+
19+
code {
20+
font-family: monospace !important;
21+
}

docs/conf.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
"sphinxarg.ext",
4040
"sphinx.ext.autosectionlabel",
4141
"myst_parser",
42-
"sphinxawesome_theme.highlighting",
4342
]
4443

4544
html_css_files = ["custom.css"]

0 commit comments

Comments
 (0)