mirror of
https://git.pumpin.online/funkpower/typikon.git
synced 2026-10-23 03:07:12 +00:00
1.1.1
The README stops explaining how the project tests and releases itself. Someone arriving at it wants to know what a day of the Great Fast permits, not how the wheels get built; the parity suite and the release workflow are in docs/, where the person who needs them will look. The published description now says how many churches are covered, on both registries. That is a number in two files nobody editing the jurisdiction table will open, so a test pins it and names them.
This commit is contained in:
+5
-1
@@ -4,7 +4,7 @@ Notable changes, in the terms [docs/versioning.md](docs/versioning.md) sets out.
|
|||||||
**Calendar** entries change what a day reports, whatever the version number
|
**Calendar** entries change what a day reports, whatever the version number
|
||||||
does.
|
does.
|
||||||
|
|
||||||
## Unreleased
|
## 1.1.1
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@@ -27,6 +27,10 @@ does.
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- The README no longer explains how the project tests or releases itself. That
|
||||||
|
belongs to whoever works on it, and it is in `docs/` where they will look;
|
||||||
|
a reader who came to find out what a day of the Great Fast permits does not
|
||||||
|
need it.
|
||||||
- A release runs what a push runs. The release workflow had been gated on
|
- A release runs what a push runs. The release workflow had been gated on
|
||||||
`cargo test` alone, so the C ABI, the Lua binding, the Python parity check
|
`cargo test` alone, so the C ABI, the Lua binding, the Python parity check
|
||||||
and the README examples were checked on the branch that led to a release but
|
and the README examples were checked on the branch that led to a release but
|
||||||
|
|||||||
Generated
+1
-1
@@ -404,7 +404,7 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "typikon"
|
name = "typikon"
|
||||||
version = "1.1.0"
|
version = "1.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
|
|||||||
+2
-2
@@ -1,9 +1,9 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "typikon"
|
name = "typikon"
|
||||||
version = "1.1.0"
|
version = "1.1.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.85"
|
rust-version = "1.85"
|
||||||
description = "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched"
|
description = "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched. Twenty Orthodox jurisdictions and four Byzantine Catholic churches, across the Julian, Revised Julian and Gregorian reckonings."
|
||||||
license = "GPL-2.0-only"
|
license = "GPL-2.0-only"
|
||||||
repository = "https://git.pumpin.online/funkpower/typikon"
|
repository = "https://git.pumpin.online/funkpower/typikon"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|||||||
@@ -555,23 +555,6 @@ widgets for Hyprland (Quickshell), waybar and eww, all reading the JSON above.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Every binding agrees
|
|
||||||
|
|
||||||
There is one engine and several doors into it, so the doors have to agree.
|
|
||||||
`tests/parity.sh` asks each one for the same twelve days, chosen where they
|
|
||||||
could plausibly differ, and compares all twenty-two fields against what the
|
|
||||||
command line says: the Python wheel, Node by import and by require, TypeScript
|
|
||||||
under `--strict`, a real browser, Deno, Bun, the C ABI and LuaJIT over it. It
|
|
||||||
runs on every push and again before a release is uploaded, and
|
|
||||||
`tests/parity.sh --published` runs it against what is on PyPI and npm rather
|
|
||||||
than against the checkout.
|
|
||||||
|
|
||||||
## Releasing
|
|
||||||
|
|
||||||
`main` is always releasable; a `vX.Y.Z` tag on it builds the wheels and publishes
|
|
||||||
to PyPI. [docs/releasing.md](https://git.pumpin.online/funkpower/typikon/src/branch/main/docs/releasing.md) has the workflow, and what has to
|
|
||||||
be set up before the first one.
|
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
GPL-2.0-only. The source for any published release is the source distribution
|
GPL-2.0-only. The source for any published release is the source distribution
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "typikon",
|
"name": "typikon",
|
||||||
"version": "@VERSION@",
|
"version": "@VERSION@",
|
||||||
"description": "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched",
|
"description": "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched. Twenty Orthodox jurisdictions and four Byzantine Catholic churches, across the Julian, Revised Julian and Gregorian reckonings.",
|
||||||
"license": "GPL-2.0-only",
|
"license": "GPL-2.0-only",
|
||||||
"homepage": "https://git.pumpin.online/funkpower/typikon",
|
"homepage": "https://git.pumpin.online/funkpower/typikon",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -706,3 +706,27 @@ fn date_arithmetic_saturates_instead_of_overflowing() {
|
|||||||
assert_eq!(d.iso().len(), 10);
|
assert_eq!(d.iso().len(), 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The published description counts the churches, on PyPI and on npm, where
|
||||||
|
/// nobody editing this table will see it. Adding a jurisdiction without saying
|
||||||
|
/// so makes that description quietly wrong, so the count is pinned here and
|
||||||
|
/// the failure names the two places to correct.
|
||||||
|
#[test]
|
||||||
|
fn the_published_description_still_counts_the_churches_correctly() {
|
||||||
|
let catholic = ["ruthenian", "ugcc", "melkite", "romanian-catholic"];
|
||||||
|
let orthodox = JURISDICTIONS
|
||||||
|
.iter()
|
||||||
|
.filter(|j| !catholic.contains(&j.key))
|
||||||
|
.count();
|
||||||
|
let byzantine_catholic = JURISDICTIONS
|
||||||
|
.iter()
|
||||||
|
.filter(|j| catholic.contains(&j.key))
|
||||||
|
.count();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
(orthodox, byzantine_catholic, CALENDARS.len()),
|
||||||
|
(20, 4, 3),
|
||||||
|
"the counts moved; update `description` in Cargo.toml (PyPI) and in \
|
||||||
|
npm/package.json.in (npm), and the README's opening"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user