Skip to content

Commit 9ada2b3

Browse files
committed
MAINT: updates to env files for rachis name change & clarifying release env creation
1 parent fab5d9a commit 9ada2b3

3 files changed

Lines changed: 31 additions & 55 deletions

File tree

‎book/plugins/how-to-guides/distribute-on-library.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The *About* section of a GitHub repository.
2727
Only resources referenced with absolute URLs will load.
2828
1. Conda environment files must be provided for installation, and they must meet a few formatting requirements.
2929
This is the highest bar to clear to have your plugin be compatible with the QIIME 2 Library.
30-
* Your repository must include environment YAML files for each QIIME 2 release you support using the naming scheme `<plugin-name>-qiime2-<distro>-<epoch>.yml`.
30+
* Your repository must include environment YAML files for each QIIME 2 release you support using the naming scheme `<plugin-name>-rachis-<distro>-<epoch>.yml`.
3131
These files must be located in your repository's `/environment-files` folder.
3232
More detailed instructions on how to do this are provided in [](facilitating-installation).
3333
One feature that we're working on adding to the Library is a system that can automatically submit PRs against your plugin repository to add new environment files when new QIIME 2 releases come out, to help you keep your plugin up-to-date with QIIME 2 - more on this soon!

‎book/plugins/how-to-guides/facilitate-installation.md‎

Lines changed: 28 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ environment-files/
1313
```
1414

1515
Within this directory, create environment file(s) for current and/or past installable versions of your plugin.
16-
You can name them with a pattern like `<package-name>-qiime2-<target-distribution>-<target-epoch>.yml` (for example, `q2-dwq2-qiime2-amplicon-2024.5.yml`).
16+
You can name them with a pattern like `<package-name>-rachis-<target-distribution>-<target-epoch>.yml` (for example, `q2-dwq2-rachis-qiime2-2026.4.yml`).
1717

1818
The contents of your environment file should look something like this:
1919

@@ -23,15 +23,15 @@ channels:
2323
- conda-forge
2424
- bioconda
2525
dependencies:
26-
- qiime2-<target-distribution>
26+
- rachis-<target-distribution>
2727
- pip
2828
- pip:
2929
- <package-name>@git+https://github.com/<owner>/<repository-name>.git@<target-branch>
3030
```
3131

3232
With the following terms defined:
3333
- `<target-epoch>`: the QIIME 2 epoch that your plugin should be installed under (e.g., `2024.5` or `2024.10`)
34-
- `<target-distribution>`: the QIIME 2 distribution that your plugin should be installed under (e.g., `amplicon` or `moshpit`)
34+
- `<target-distribution>`: the QIIME 2 distribution that your plugin should be installed under (e.g., `qiime2` or `moshpit`)
3535
- `<package-name>`: your plugin's package name (e.g., `q2-dwq2`)
3636
- `<owner>`: the github organization your plugin is hosted under, or your personal github account name
3737
- `<repository-name>`: the name of your plugin repository on GitHub (this often will be the same as your plugin's package name, e.g., `q2-dwq2`)
@@ -40,17 +40,17 @@ With the following terms defined:
4040
``````{Note}
4141
In the examples provided in this guide, we utilize the `released` channel for our QIIME 2 packages (i.e. `packages.qiime2.org/qiime2/<target-epoch>/<target-distribution>/released`).
4242
If you are interested in creating and/or sharing instructions for installing a version of your plugin that relies on one of our development environments (meaning the current development cycle environment prior to an official release version), you'll want to target the `passed` channel of that particular distribution.
43-
Here's an example of what this channel might look like (as of Sept. 2024, prior to the 2024.10 release):
43+
Here's an example of what this channel might look like (as of June 2026, prior to the 2026.7 release):
4444
```
45-
https://packages.qiime2.org/qiime2/2024.10/amplicon/passed
45+
https://packages.qiime2.org/qiime2/2026.7/qiime2/passed
4646
```
4747
``````
4848

4949
Using the above guidelines, you can provide the following install instructions for your users:
5050
```
5151
conda env create \
5252
-n <target-epoch>-<package-name> \
53-
-f https://raw.githubusercontent.com/<owner>/<repository-name>/<target-branch>/environment-files/<package-name>-qiime2-<target-distribution>-<target-epoch>.yml
53+
-f https://raw.githubusercontent.com/<owner>/<repository-name>/<target-branch>/environment-files/<package-name>-rachis-<target-distribution>-<target-epoch>.yml
5454
```
5555

5656
Again, you'll fill in the values enclosed in the `<` and `>` brackets.
@@ -63,77 +63,51 @@ By maintaining release branches on your repository, you can create a new environ
6363
As an example, your branch structure could look like the following:
6464

6565
```
66-
release-2024.5 # the 2024.5 release of your plugin
67-
release-2024.10 # the 2024.10 release of your plugin
66+
release-2026.4 # the 2026.4 release of your plugin
6867
main # your main branch, usually what would be installed for a "development" installation
6968
```
7069

71-
You could then have environment files and install instructions for these different branches that look like the following (in this example, `amplicon` is the target distribution):
70+
You could then have environment files and install instructions for these different branches that look like the following (in this example, `qiime2` is the target distribution):
7271

7372
`````{tab-set}
74-
````{tab-item} release-2024.5
7573
76-
Environment file: `q2-dwq2-qiime2-amplicon-2024.5.yml`
74+
````{tab-item} release-2026.4
7775
78-
```
79-
channels:
80-
- https://packages.qiime2.org/qiime2/2024.5/amplicon/released
81-
- conda-forge
82-
- bioconda
83-
dependencies:
84-
- qiime2-amplicon
85-
- pip
86-
- pip:
87-
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git@release-2024.5
88-
```
89-
90-
Install instructions:
91-
92-
```
93-
conda env create \
94-
-n q2-dwq2 \
95-
-f https://raw.githubusercontent.com/caporaso-lab/q2-dwq2.git/main/environment-files/q2-dwq2-qiime2-amplicon-2024.5.yml
96-
```
97-
98-
````
99-
100-
````{tab-item} release-2024.10
101-
102-
Environment file: `q2-dwq2-qiime2-amplicon-2024.10.yml`
76+
Environment file: `q2-dwq2-rachis-qiime2-2026.4.yml`
10377
10478
```
10579
channels:
106-
- https://packages.qiime2.org/qiime2/2024.10/amplicon/released
80+
- https://packages.qiime2.org/qiime2/2026.4/qiime2/released
10781
- conda-forge
10882
- bioconda
10983
dependencies:
110-
- qiime2-amplicon
84+
- rachis-qiime2
11185
- pip
11286
- pip:
113-
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git@release-2024.10
87+
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git@release-2026.4
11488
```
11589
11690
Install instructions:
11791
11892
```
11993
conda env create \
12094
-n q2-dwq2 \
121-
-f https://raw.githubusercontent.com/caporaso-lab/q2-dwq2.git/main/environment-files/q2-dwq2-qiime2-amplicon-2024.10.yml
95+
-f https://raw.githubusercontent.com/caporaso-lab/q2-dwq2.git/main/environment-files/q2-dwq2-rachis-qiime2-2026.4.yml
12296
```
12397
12498
````
12599
126100
````{tab-item} main (development)
127101
128-
Environment file: `q2-dwq2-qiime2-amplicon-development.yml`
102+
Environment file: `q2-dwq2-rachis-qiime2-development.yml`
129103
130104
```
131105
channels:
132-
- https://packages.qiime2.org/qiime2/2024.10/amplicon/released
106+
- https://packages.qiime2.org/qiime2/2026.7/qiime2/passed
133107
- conda-forge
134108
- bioconda
135109
dependencies:
136-
- qiime2-amplicon
110+
- rachis-qiime2
137111
- pip
138112
- pip:
139113
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git
@@ -144,7 +118,7 @@ Install instructions:
144118
```
145119
conda env create \
146120
-n q2-dwq2 \
147-
-f https://raw.githubusercontent.com/caporaso-lab/q2-dwq2.git/main/environment-files/q2-dwq2-qiime2-amplicon-development.yml
121+
-f https://raw.githubusercontent.com/caporaso-lab/q2-dwq2.git/main/environment-files/q2-dwq2-rachis-qiime2-development.yml
148122
```
149123
150124
````
@@ -167,24 +141,24 @@ As an example, the contents of an environment file for a plugin that depends on
167141

168142
```
169143
channels:
170-
- https://packages.qiime2.org/qiime2/2024.5/tiny/released
171-
- https://packages.qiime2.org/qiime2/2024.5/amplicon/released
144+
- https://packages.qiime2.org/qiime2/2026.4/tiny/released
145+
- https://packages.qiime2.org/qiime2/2026.4/qiime2/released
172146
- conda-forge
173147
- bioconda
174148
dependencies:
175-
- qiime2-tiny
149+
- rachis-tiny
176150
- q2-feature-table
177151
- q2-composition
178152
- pip
179153
- pip:
180-
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git@release-2024.5
154+
- q2-dwq2@git+https://github.com/caporaso-lab/q2-dwq2.git@release-2026.4
181155
```
182156

183-
In this example, the plugin being developed (`q2-dwq2`) requires `q2-feature-table` and `q2-composition`, but we're assuming that it's not compatible with the entire amplicon distribution.
184-
Because this plugin still requires a basic QIIME 2 environment, the `qiime2-tiny` distribution will be installed from the first channel listed.
185-
The `q2-feature-table` and `q2-composition` dependencies are not part of the `qiime2-tiny` distribution however, but are a part of the amplicon distribution.
186-
Therefore the second channel listed is the `amplicon` channel.
187-
We then list the dependencies as `qiime2-tiny` (the `tiny` distribution) and then the two additional plugins.
157+
In this example, the plugin being developed (`q2-dwq2`) requires `q2-feature-table` and `q2-composition`, but we're assuming that it's not compatible with the entire qiime2 distribution.
158+
Because this plugin still requires a basic QIIME 2 environment, the `rachis-tiny` distribution will be installed from the first channel listed.
159+
The `q2-feature-table` and `q2-composition` dependencies are not part of the `rachis-tiny` distribution however, but are a part of the qiime2 distribution.
160+
Therefore the second channel listed is the `qiime2` channel.
161+
We then list the dependencies as `rachis-tiny` (the `tiny` distribution) and then the two additional plugins.
188162
Those are all followed by the installation of the `q2-dwq2` plugin, as in the previous example.
189163

190164
Generally, your customized environment files will be structured as follows:
@@ -195,7 +169,7 @@ channels:
195169
- conda-forge
196170
- bioconda
197171
dependencies:
198-
- qiime2-tiny
172+
- rachis-tiny
199173
- <other-plugin-dependency-1>
200174
- <other-plugin-dependency-2>
201175
- pip

‎book/plugins/how-to-guides/release-on-gh.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ As you add new features into your plugin, you may wish to create *release* versi
55
We’ve created a GitHub workflow automation that runs each time you publish a new release on your plugin’s repository that will mint and test a new release environment file, so you don't have to!
66
If you used our plugin template (see [](plugin-from-template)) on or after 20 June 2025, this automation is already included!
77
You can determine whether or not you have this automation by looking under the `.github/workflows/` directory in your plugin's repository - the file that creates this automation will be titled `release-env.yml`.
8+
Note that you will need to have a correctly formatted release environment file in order for this automation to work properly.
9+
More information on how to create and format a release environment file can be found in [](facilitating-installation).
810

911
A GitHub workflow is included upon creation of your plugin (using our plugin template) that will automatically run when a new GitHub release is published on your plugin's repository.
1012
This workflow will mint a new *release* environment file that includes the latest QIIME 2 release of the given distribution you specified upon plugin creation, as well as the newly minted release version of your plugin.

0 commit comments

Comments
 (0)