- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI) - Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend - Dockerfile.gui: Astro static build served via nginx - docker-compose.yml: backend (internal) + frontend (port 5353) - nginx.conf: root redirects to /es/, /api/ proxied to backend - zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.2 KiB
Release process - Preparation
The steps in this document should be processed early in the release process, definitely before acceptance testing starts, but also before development has been completed.
1. Update prerequisites
Make sure the declaration of prerequisites is up to date with regard to SupportCriteria.
2. Update CI configuration
Make sure the Travis configuration for each repo, in the develop branch
is up to date with the supported Perl versions.
- zonemaster-ldns - .travis.yml
- zonemaster-engine - .github/workflows/ci.yml
- zonemaster-cli - .travis.yml
- zonemaster-backend - .travis.yml
Zonemaster-GUI uses no Perl and Zonemaster/Zonemaster uses no Travis.
3. Verify that META.yml will have all the correct data
This section is not relevant for Zonemaster-GUI or Zonemaster/Zonemaster.
META.yml is created by Makefile.PL so if META.yml is not correct, then Makefile.PL must be updated.
- Make a clean clone for each repository
git clean -dfx
git reset --hard
- Check out the
developbranch. Check out the right commit of the submodule (LDNS) if Zonemaster-LDNS.
git checkout origin/develop
git submodule update # Zonemaster-LDNS only
- Run
perl Makefile.PL --no-ed25519 # zonemaster-ldns only
perl Makefile.PL # other repositories
- Verify that META.yml contains all the paths in the table in Appendix META below and that the value at each path matches the listed requirement.
4. Verify that MANIFEST and MANIFEST.SKIP are up to date
This section is not relevant for Zonemaster-GUI or Zonemaster/Zonemaster.
MANIFEST must, directly or indirectly, list all files that should be installed.
MANIFEST.SKIP must list all file that should not be installed, and what is
counted are all files available when make dist is run.
5. Check for deprecated features
Check all documentation in all repositories for deprecated features that are planned to be removed in the upcoming release.
If anything was found and there is no PR to remove it, then create an issue
labelled P-High that something must be done before the release unless there is
already an issue.
Removed feature will probably require that the major version is increased (breaking change). See "Versions and Releases".
Appendix META
Requirements for generated META.yml file.
| Property | Requirement |
|---|---|
| abstract | component tag line |
| author | current maintainer and original author |
| license | license string |
| name | name of the component |
| recommends | all modules that aren't strictly required but still used if available |
| requires | all required modules |
| requires.perl | minimum perl version |
| resources.bugtracker | link to the bug tracker |
| resources.license | link to the license text |
| resources.repository | link to the repository |
| version | version number of the new release |