Skip to content

Timezone update

Timezone update #26

name: Timezone update
on:
schedule:
# Run once a week at 00:05 AM UTC on Sunday.
- cron: 5 0 * * 0
workflow_dispatch:
permissions:
contents: read
jobs:
timezone_update:
permissions:
contents: write # to push local changes (gr2m/create-or-update-pull-request-action)
pull-requests: write # to create a PR (gr2m/create-or-update-pull-request-action)
if: github.repository == 'nodejs/node'
runs-on: ubuntu-latest
steps:
- name: Checkout nodejs/node
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
persist-credentials: false
- name: Checkout unicode-org/icu-data
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
path: icu-data
persist-credentials: false
repository: unicode-org/icu-data
- name: Record new version
run: echo "new_version=$(ls icu-data/tzdata/icunew | tail -1)" >> $GITHUB_ENV
- name: Record current version
run: echo "current_version=$(cat ./test/fixtures/tz-version.txt)" >> $GITHUB_ENV
- name: Compare versions
run: |
echo "Comparing current version ${{ env.current_version }} to new version ${{ env.new_version }}"
- run: ./tools/update-timezone.mjs
if: ${{ env.new_version != env.current_version }}
- name: Update the expected timezone version in test
if: ${{ env.new_version != env.current_version }}
run: echo "${{ env.new_version }}" > test/fixtures/tz-version.txt
- name: Open Pull Request
if: ${{ env.new_version != env.current_version }}
uses: gr2m/create-or-update-pull-request-action@77596e3166f328b24613f7082ab30bf2d93079d5 # Create a PR or update the Action's existing PR
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
with:
author: Node.js GitHub Bot <[email protected]>
body: |
This PR was generated by tools/timezone-update.yml.
Updates the ICU files as per the instructions present in https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-icu.md#time-zone-data
To test, build node off this branch & log the version of tz using
```js
console.log(process.versions.tz)
```
branch: actions/timezone-update
commit-message: 'deps: update timezone to ${{ env.new_version }}'
labels: dependencies
title: 'deps: update timezone to ${{ env.new_version }}'
reviewers: \@nodejs/i18n-api
update-pull-request-title-and-body: true