69 lines
2.0 KiB
Markdown
69 lines
2.0 KiB
Markdown
## Devpi Release Flow
|
|
|
|
### Current state
|
|
|
|
- `mandel/testing` is the active package source for MandelBlog project builds.
|
|
- `ocyan.plugin.template_engine==0.2.12` is published there and is the current production-safe version.
|
|
- `mandel/stable` is not available yet.
|
|
|
|
This means production is intentionally running from the testing index for now, to avoid breaking installs while the stable index is not provisioned.
|
|
|
|
### Index roles
|
|
|
|
- `mandel/testing`
|
|
- pre-production and current fallback source
|
|
- currently also the active production source until stable exists
|
|
- `mandel/stable`
|
|
- intended production index
|
|
- not yet provisioned
|
|
|
|
### Promotion flow
|
|
|
|
When `mandel/stable` exists, promote existing artifacts without rebuilding:
|
|
|
|
```bash
|
|
devpi use https://pypi.mandelblog.com/mandel/testing
|
|
devpi login mandel
|
|
devpi push ocyan-plugin-template-engine==0.2.12 mandel/stable
|
|
```
|
|
|
|
### Admin prerequisite
|
|
|
|
Promotion requires a devpi admin to create the production index and grant upload or push permissions.
|
|
|
|
Recommended admin setup:
|
|
|
|
```bash
|
|
devpi index -c mandel/stable bases=root/pypi volatile=False acl_upload=mandel,Mandel-publish
|
|
```
|
|
|
|
### Planned stable-first install order
|
|
|
|
Do not enable this until `mandel/stable` exists:
|
|
|
|
```bash
|
|
PIP_INDEX_URL=https://pypi.mandelblog.com/mandel/stable/+simple/
|
|
PIP_EXTRA_INDEX_URL=https://pypi.mandelblog.com/mandel/testing/+simple/
|
|
```
|
|
|
|
### CI behavior
|
|
|
|
- If the stable index is missing, Jenkins logs:
|
|
- `devpi stable index not available, using testing as production source`
|
|
- The build does not fail because of the missing stable index.
|
|
- Installs continue from `mandel/testing`.
|
|
|
|
### Validation checklist
|
|
|
|
After stable becomes available and promotion is done:
|
|
|
|
1. confirm both wheel and sdist are visible in the stable simple index
|
|
2. switch MandelStudio to stable-first
|
|
3. run Jenkins build and deploy
|
|
4. verify installed version is still `0.2.12`
|
|
5. recheck editor validation for:
|
|
- `/contact/`
|
|
- `/diensten/`
|
|
- `#demo`
|
|
- absolute URLs
|