anthodev/lapin-futepublic Fork
⑂ 07fd9ff
Commits
⬇ Clone ▾
git clone https://git.rickub.com/anthodev/lapin-fute.git
git clone ssh://git@rickub.com/anthodev/lapin-fute.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

fix(deploy): use managed Python and report missing Bunny credentials

Cedric ANTHONY committed 2026-10-07T00:10:24+02:00 Browse files
07fd9ff parent: 5736f05
modified .github/workflows/deploy-bunny.yml +3 -3
@@ -71,7 +71,7 @@ jobs:
7171
7272 - name: Install pinned Pebble toolchain
7373 run: |
74- uv tool install pebble-tool==5.0.40
74+ uv tool install --managed-python --python 3.11 pebble-tool==5.0.40
7575 pebble sdk install 4.33.1
7676
7777 - name: Validate package version
@@ -131,8 +131,8 @@ jobs:
131131 run: |
132132 set -euo pipefail
133133
134- test -n "$BUNNY_STORAGE_ENDPOINT"
135- test -n "$BUNNY_STORAGE_PASSWORD"
134+ [[ -n "$BUNNY_STORAGE_ENDPOINT" ]] || { echo "Missing required production variable BUNNY_STORAGE_ENDPOINT" >&2; exit 1; }
135+ [[ -n "$BUNNY_STORAGE_PASSWORD" ]] || { echo "Missing required production secret BUNNY_STORAGE_PASSWORD" >&2; exit 1; }
136136 endpoint="${BUNNY_STORAGE_ENDPOINT%/}"
137137 case "$endpoint" in
138138 https://*) ;;
@@ -71,7 +71,7 @@ jobs:
71 71
72 - name: Install pinned Pebble toolchain72 - name: Install pinned Pebble toolchain
73 run: |73 run: |
74- uv tool install pebble-tool==5.0.4074+ uv tool install --managed-python --python 3.11 pebble-tool==5.0.40
75 pebble sdk install 4.33.175 pebble sdk install 4.33.1
76 76
77 - name: Validate package version77 - name: Validate package version
@@ -131,8 +131,8 @@ jobs:
131 run: |131 run: |
132 set -euo pipefail132 set -euo pipefail
133 133
134- test -n "$BUNNY_STORAGE_ENDPOINT"134+ [[ -n "$BUNNY_STORAGE_ENDPOINT" ]] || { echo "Missing required production variable BUNNY_STORAGE_ENDPOINT" >&2; exit 1; }
135- test -n "$BUNNY_STORAGE_PASSWORD"135+ [[ -n "$BUNNY_STORAGE_PASSWORD" ]] || { echo "Missing required production secret BUNNY_STORAGE_PASSWORD" >&2; exit 1; }
136 endpoint="${BUNNY_STORAGE_ENDPOINT%/}"136 endpoint="${BUNNY_STORAGE_ENDPOINT%/}"
137 case "$endpoint" in137 case "$endpoint" in
138 https://*) ;;138 https://*) ;;
modified CHANGELOG.md +5 -2
@@ -1,18 +1,21 @@
11 # Changelog
22
3-## [1.2.2] - 2026-10-06
3+## [1.2.2] - 2026-10-07
44
55 Traffic reporting now handles PRIM incident schedules containing up to 256 application periods, preventing longer valid notices from disabling traffic information for unrelated lines.
66
77 Catalog activation now lets the atomic rename decide whether the candidate and active paths share a filesystem. This avoids false rejections when OverlayFS reports different devices for a file and its parent directory.
88
9+Release deployments now install the pinned `pebble-tool` with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing `ensurepip`. The production backup gate also names missing Bunny storage settings instead of failing silently.
10+
911 ### Fixes
1012
1113 - fix(traffic): accept up to 256 application periods per disruption (`1380da0`)
14+- fix(deploy): use managed Python and report missing Bunny credentials
1215
1316 ### Changes
1417
15-- chore(release): bump to version 1.2.2
18+- chore(release): bump to version 1.2.2 (`5736f05`)
1619
1720 ## [1.2.1] - 2026-09-20
1821
@@ -1,18 +1,21 @@
1 # Changelog1 # Changelog
2 2
3-## [1.2.2] - 2026-10-063+## [1.2.2] - 2026-10-07
4 4
5 Traffic reporting now handles PRIM incident schedules containing up to 256 application periods, preventing longer valid notices from disabling traffic information for unrelated lines.5 Traffic reporting now handles PRIM incident schedules containing up to 256 application periods, preventing longer valid notices from disabling traffic information for unrelated lines.
6 6
7 Catalog activation now lets the atomic rename decide whether the candidate and active paths share a filesystem. This avoids false rejections when OverlayFS reports different devices for a file and its parent directory.7 Catalog activation now lets the atomic rename decide whether the candidate and active paths share a filesystem. This avoids false rejections when OverlayFS reports different devices for a file and its parent directory.
8 8
9+Release deployments now install the pinned `pebble-tool` with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing `ensurepip`. The production backup gate also names missing Bunny storage settings instead of failing silently.
10+
9 ### Fixes11 ### Fixes
10 12
11 - fix(traffic): accept up to 256 application periods per disruption (`1380da0`)13 - fix(traffic): accept up to 256 application periods per disruption (`1380da0`)
14+- fix(deploy): use managed Python and report missing Bunny credentials
12 15
13 ### Changes16 ### Changes
14 17
15-- chore(release): bump to version 1.2.218+- chore(release): bump to version 1.2.2 (`5736f05`)
16 19
17 ## [1.2.1] - 2026-09-2020 ## [1.2.1] - 2026-09-20
18 21
modified README.md +1 -1
@@ -112,7 +112,7 @@ npm run build:config-site # assemble var/config-site; f
112112
113113 To rebuild the hosted catalog independently, run **Rebuild and publish IDFM catalog** from GitHub Actions, using `.github/workflows/rebuild-catalog.yml`. It uses the existing `production` environment's IDFM and Bunny credentials and publishes only catalog files, with up to 75 concurrent curl uploads. The manifest is uploaded last. It does not build the PBW, deploy the settings page, or create a GitHub release.
114114
115-Uploads are skipped when the hosted IDFM source revision is unchanged. Enable `force_catalog_upload` when republishing a catalog format change from the same source data. The workflow retains the previous manifest for rollback and shares the production publication lock with page deployments and rollbacks. Release tags continue through `deploy-bunny.yml`, without rebuilding the catalog.
115+Uploads are skipped when the hosted IDFM source revision is unchanged. Enable `force_catalog_upload` when republishing a catalog format change from the same source data. The workflow retains the previous manifest for rollback and shares the production publication lock with page deployments and rollbacks. Release tags continue through `deploy-bunny.yml`, without rebuilding the catalog. Release deployments install the pinned `pebble-tool` on a uv-managed Python 3.11, because the runner's system Python has no `ensurepip`, and require the `production` environment's `BUNNY_STORAGE_ENDPOINT` variable and `BUNNY_STORAGE_PASSWORD` secret; when either is unset, the deployment fails at the backup gate with an error naming the missing one.
116116
117117 ## Contributing
118118
@@ -112,7 +112,7 @@ npm run build:config-site # assemble var/config-site; f
112 112
113 To rebuild the hosted catalog independently, run **Rebuild and publish IDFM catalog** from GitHub Actions, using `.github/workflows/rebuild-catalog.yml`. It uses the existing `production` environment's IDFM and Bunny credentials and publishes only catalog files, with up to 75 concurrent curl uploads. The manifest is uploaded last. It does not build the PBW, deploy the settings page, or create a GitHub release.113 To rebuild the hosted catalog independently, run **Rebuild and publish IDFM catalog** from GitHub Actions, using `.github/workflows/rebuild-catalog.yml`. It uses the existing `production` environment's IDFM and Bunny credentials and publishes only catalog files, with up to 75 concurrent curl uploads. The manifest is uploaded last. It does not build the PBW, deploy the settings page, or create a GitHub release.
114 114
115-Uploads are skipped when the hosted IDFM source revision is unchanged. Enable `force_catalog_upload` when republishing a catalog format change from the same source data. The workflow retains the previous manifest for rollback and shares the production publication lock with page deployments and rollbacks. Release tags continue through `deploy-bunny.yml`, without rebuilding the catalog.115+Uploads are skipped when the hosted IDFM source revision is unchanged. Enable `force_catalog_upload` when republishing a catalog format change from the same source data. The workflow retains the previous manifest for rollback and shares the production publication lock with page deployments and rollbacks. Release tags continue through `deploy-bunny.yml`, without rebuilding the catalog. Release deployments install the pinned `pebble-tool` on a uv-managed Python 3.11, because the runner's system Python has no `ensurepip`, and require the `production` environment's `BUNNY_STORAGE_ENDPOINT` variable and `BUNNY_STORAGE_PASSWORD` secret; when either is unset, the deployment fails at the backup gate with an error naming the missing one.
116 116
117 ## Contributing117 ## Contributing
118 118