Publishing a Release
This guide covers how to publish an official biannual UN/LOCODE release. The process uses a release-first approach — the Secretariat creates the release with all accompanying documentation in a single step, and the automated pipeline handles the rest.
Prerequisites
Before creating a release, ensure that:
- All locode changes for the release period have been merged to the
mainbranch - The Secretariat Notes document (
.doc) is prepared and ready to upload
Steps
1. Create the Release on GitLab
Navigate to the Releases page on GitLab and fill in the following:
Tag name
: Use the format YYYY-N where YYYY is the year and N is the release period (1 for January, 2 for July). For example: 2025-1.
Create from
: Select the main branch. Ensure the branch contains all the locode data intended for this release.
Release title
: Use the format: UN/LOCODE (CODE FOR TRADE AND TRANSPORT LOCATIONS) Issue YYYY-N
Release description : Include the introductory text and a link to the Secretariat Notes. Upload the Secretariat Notes document using the attachment button in the description editor, which will generate a markdown link automatically.
Example description:
1. The UNECE secretariat has the pleasure to introduce herewith UN/LOCODE YYYY-N.
2. UN/LOCODE is available on the Internet, on a site dedicated exclusively
to the UN/LOCODE https://unlocode.unece.org
Secretariat Release Notes: [YYYY-N_UNLOCODE_SecretariatNotes.doc](/uploads/...)
The page should look something like this:

2. Publish the Release
Click Create release. This will:
- Create a new Git tag (
YYYY-N) pointing at the currentmainbranch - Create the GitLab release with the Secretariat Notes attached
3. Automated Pipeline
Creating the tag automatically triggers the CI/CD pipeline, which will:
- Publish — Generate publication files (CSV, TXT, XML, MDB) from the locode source data
- Package — Bundle all publication files into a downloadable archive
- Release — Add the Data Archive download link to the existing release
- Build Website — Rebuild the website, picking up the new release version and release notes for the Publications page
- Deploy — Deploy the updated website
No further action is required from the Secretariat. The pipeline typically completes within a few minutes.
4. Verify
Once the pipeline completes, verify that:
- The Publications page shows the new release version with the release notes displayed below the download button
- The release on GitLab has the UNLOCODE Data Archive asset link attached
- The data archive downloads correctly
Release Naming Convention
| Period | Tag | Display Date |
|---|---|---|
| First half (January) | YYYY-1 | January YYYY |
| Second half (July) | YYYY-2 | July YYYY |
Troubleshooting
Pipeline fails on the release job
If the release was created before the pipeline ran (which is the expected flow), the pipeline will detect the existing release and add the asset link. If the asset link already exists, the job will continue without error.
Release notes not appearing on the website
The website displays the full release description from GitLab as release notes on the Publications page. Ensure the release has a description with the introductory text and Secretariat Notes link. Any file upload links (e.g., /uploads/...) are automatically resolved to absolute URLs.