Skip to content

Commit 056e25c

Browse files
committed
DEVELOPER.md: update upgrading and release instructions
1 parent 874a00a commit 056e25c

File tree

1 file changed

+42
-23
lines changed

1 file changed

+42
-23
lines changed

DEVELOPER.md

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ library.
2727
* [Step 3: Fix Transition Times](#Step3FixTransitionTimes)
2828
* [Step 4: Generate Start Until Times](#Step4GenerateStartUntilTimes)
2929
* [Step 5: Calculate Abbreviations](#Step5CalculateAbbreviations)
30-
* [Upgrading ZoneInfo Files to a New TZDB Version](#UpgradingZoneInfoFiles)
30+
* [Upgrading TZDB](#UpgradingZoneInfoFiles)
3131
* [Release Process](#ReleaseProcess)
3232

3333
<a name="ProjectRepoDependency"></a>
@@ -792,7 +792,7 @@ field is a static array of 7 characters (to account for the terminating NUL
792792
character).
793793

794794
<a name="UpgradingZoneInfoFiles"></a>
795-
## Upgrading ZoneInfo Files to a New TZDB Version
795+
## Upgrading TZDB
796796

797797
About 2-4 times a year, a new TZDB version is released. Here are some notes
798798
(mostly for myself) on how to create a new release after a new TZDB version is
@@ -805,29 +805,48 @@ available.
805805
- `$ git pull`
806806
- Check that the correct tag is pulled (e.g. `2020c` tag if that's the
807807
version that we want to upgrade to).
808-
- Update the Hinnant date repo (https://github.com:HowardHinnant/date). This
808+
- Update the Hinnant `date` repo (https://github.com:HowardHinnant/date). This
809809
should be a sibling to the `AceTime` repo:
810810
- `$ cd ../date`
811811
- `$ git pull`
812812
- Update the zonedb files for `acetimepy` (needed by AcetzBasicTest and
813813
AcetzExtendedTest):
814-
- `$ cd acetimepy/src/acetime`
815-
- `$ vi zonedb*/Makefile`
814+
- `$ cd acetimepy`
815+
- `$ vi src/zonedb*/Makefile`
816816
- Update the `TZ_VERSION` variable in the various makefiles.
817817
- `$ make zonedbs`
818+
- `$ make all`
818819
- Update the zonedb files for `acetimec` (needed by AcetimecBasicTest and
819820
AcetimecExtendedTest)
820821
- `$ cd acetimec/src`
821822
- `$ vi zonedb*/Makefile`
822823
- Update the `TZ_VERSION` variable in the various makefiles.
823824
- `$ make zonedbs`
824825
- `$ make` to update the `acetimec.a` lib file
826+
- `$ cd ../tests`
827+
- `$ make -j2`
828+
- `$ make runtests`
829+
- Update the zonedb files for `acetimego`
830+
- `$ cd acetimego`
831+
- `$ vi zonedb*/Makefile`
832+
- Update the `TZ_VERSION` variable in the various makefiles.
833+
- `$ make zonedbs`
834+
- `$ make all`
835+
- `$ make test`
836+
- Update the zonedb files for `AceTime`:
837+
- `$ cd AceTime/src`
838+
- `$ vi zonedb*/Makefile`
839+
- Update the `TZ_VERSION` variable in the makefiles.
840+
- `$ make zonedbs`
841+
- `$ cd ../tests`
842+
- `$ make clean`
843+
- `$ make -j2 tests`
844+
- `$ make runtests`
825845
- Recompile the binaries in `AceTimeValidation` tools
826846
- `$ cd AceTimeValidation/tools`
827847
- `$ make clean`
828-
- `$ make`
829-
- Verify that `AceTimeValidation` passes. This compares AceTime with 3 other
830-
libraries: acetimec, acetimepy, and the Hinnant `date` library:
848+
- `$ make -j2`
849+
- Verify that `AceTimeValidation/tests` pass.
831850
- `$ cd AceTimeValidation/tests`
832851
- `$ make clean`
833852
- `$ vi {Acetimec,Acetz,Hinnant}{Basic,Extended}*/Makefile`
@@ -838,32 +857,32 @@ available.
838857
- `AcetzExtendedTest/Makefile`
839858
- `HinnantBasicTest/Makefile`
840859
- `HinnantExtendedTest/Makefile`
841-
- Validate against one library, acetimec:
860+
- Validate against the other libraries:
861+
- `$ make -j2 tests`
862+
- `$ make runtests`
863+
- (Debugging) To validate against one library, e.g. acetimec:
842864
- `$ make -C AcetimecExtendedTest clean`
843865
- `$ make -C AcetimecExtendedTest all`
844866
- `$ make -C AcetimecExtendedTest run`
845-
- Validate against the other libraries:
846-
- `$ make clean`
847-
- `$ make -j4 tests`
848-
- `$ make runtests`
849-
- Update the various zoneinfo files for AceTime:
850-
- `$ cd AceTime/src`
851-
- `$ vi zonedb*/Makefile`
852-
- Update the `TZ_VERSION` variable in the makefiles.
853-
- `$ make zonedbs`
867+
- Verify that `AceTimeValidation/validation` passes.
868+
- `$ cd AceTimeValidation/validation`
869+
- `$ make clean`
870+
- `$ make -j2 validation`
854871
- Update CHANGELOGs
855872
- Copy a summary of the TZDB release notes from
856873
https://mm.icann.org/pipermail/tz-announce/ to the various CHANGELOG.md
857874
files.
858875
- AceTime/CHANGELOG.md
859876
- acetimec/CHANGELOG.md
877+
- acetimego/CHANGELOG.md
860878
- acetimepy/CHANGELOG.md
861879
- AceTimeValidation/CHANGELOG.md
862-
- Commit and push the changes for the following repos: AceTime, acetimec,
863-
acetimepy, AceTimeValidation
864-
- `$ git add ...`
865-
- `$ git commit -m "..."`
866-
- `$ git push`
880+
- Commit and push the changes for the following repos:
881+
- AceTime
882+
- acetimec
883+
- acetimego
884+
- acetimepy
885+
- AceTimeValidation
867886

868887
There are 12 other validation tests in the AceTimeValidation project that
869888
compare AceTime with various other third party libraries:

0 commit comments

Comments
 (0)