Skip to content

Commit 7c61d7b

Browse files
committed
revise: adds cross-platform as a value
1 parent fd193cf commit 7c61d7b

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

content/docs/get-started/2.values.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,20 @@ towards a common goal-post for contributions. Note that this also builds confide
5656
hesitant contributors that they can work without the perception of bothering
5757
maintainers, which is a common discourager of open-source contributions.
5858

59-
## Maintained
59+
## Cross-platform
6060

61-
Crates in the `rust-seq` stack are _permanent_ commitments to addressing a particular
62-
need in the ecosystem. In particular, they are not "published and forgotten". To that
63-
end, the expectation is that crates will continue to evolve as technology evolves,
64-
providing a first-class experience that's always up to date.
61+
Contrary to the experience of most developers, who tend to work on UNIX-based
62+
systems, a signficant portion of omics analysis today happens on Windows
63+
(generally, on desktops using something like R Studio). To ensure that the
64+
`rust-seq` stack can be used as widely as possible, crates should work across
65+
all major operating systems (Windows, Mac, and Linux) when possible. Further,
66+
this fact should be verified by CI/CD.
67+
68+
Note that, in some cases, cross-platform compatibility won't be possible (e.g.,
69+
if you're writing a crate that is specific to a particular operating system).
70+
In these cases, it's okay to not design or test your crate across operating
71+
systems. Ultimately, the intent of this value is to encourage cross-platform
72+
design when it is possible.
6573

6674
## Stable
6775

@@ -73,6 +81,13 @@ compatible for version starting with `v1`, etc). It also means that software wil
7381
unexpectedly break once you've built on top of a particular dependency (not considering,
7482
of course, when software is in the `v0.y.z` stage).
7583

84+
## Maintained
85+
86+
Crates in the `rust-seq` stack are _permanent_ commitments to addressing a particular
87+
need in the ecosystem. In particular, they are not "published and forgotten". To that
88+
end, the expectation is that crates will continue to evolve as technology evolves,
89+
providing a first-class experience that's always up to date.
90+
7691
## Broadly Usable
7792

7893
Crates in the `rust-seq` stack are intended to be broadly used within academic and

content/docs/writing-crates/1.checklist.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ link](../get-started/values).
6161
[`rustdoc::missing_doc_code_examples`](https://doc.rust-lang.org/stable/nightly-rustc/rustdoc/lint/static.MISSING_DOC_CODE_EXAMPLES.html)
6262
lints.
6363

64+
### Cross-platform
65+
66+
- [x] Ensure that you use `cfg!()` statements to handle the needs of different
67+
operating system environments where the code might run.
68+
- [x] Ensure that your code compiles and passes all of the CI checks across the
69+
three major operating systems (Windows, Mac, and Linux).
70+
6471
### Stable
6572

6673
- [x] Ensure your crate follows [semantic versioning](https://semver.org/) and

0 commit comments

Comments
 (0)