Skip to content

TZDB check

TZDB check #1213

Workflow file for this run

name: TZDB check
on:
push:
tags:
- 'tzdb*'
schedule:
- cron: '50 1 * * *'
permissions:
contents: read
jobs:
tzdbcheck:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b #v3.0.2
with:
token: ${{ secrets.PERSONAL_TOKEN_GH }}
- name: Set up JDK
uses: actions/setup-java@2c7a4878f5d120bd643426d54ae1209b29cc01a3 #v3.4.1
with:
java-version: 8
distribution: 'temurin'
cache: 'maven'
- name: Maven version
run: |
mkdir -p ./.mvn
echo '-e -B -DtrimStackTrace=false' > ./.mvn/maven.config
mvn --version
mkdir -p target
- name: Get current version
run: |
CURRENT_TZDB=$(mvn help:evaluate -Dexpression=tz.database.version -q -DforceStdout)
echo "current: $CURRENT_TZDB"
echo "CURRENT_TZDB=$CURRENT_TZDB" >> $GITHUB_ENV
- name: Get latest version
working-directory: target
run: |
git clone https://github.com/JodaOrg/global-tz.git tz
cd tz
git checkout global-tz
LATEST_TZDB=$(git describe --abbrev=0 --tags)
echo "latest: $LATEST_TZDB"
echo "LATEST_TZDB=$LATEST_TZDB" >> $GITHUB_ENV
- name: Compare versions
run: |
echo "current: $CURRENT_TZDB"
echo "latest: $LATEST_TZDB"
if [ "$CURRENT_TZDB" == "$LATEST_TZDB" ]; then echo "NOOP=true" >> $GITHUB_ENV; fi
- name: Build with Maven
if: env.NOOP != 'true'
run: |
mvn install site
- name: Download
if: env.NOOP != 'true'
working-directory: target
run: |
wget https://github.com/JodaOrg/global-tz/releases/download/${LATEST_TZDB}/tzdata${LATEST_TZDB}-rearguard.tar.gz
ls -la
mkdir -p tzdata${LATEST_TZDB}-rearguard
ls -la
tar -xf tzdata${LATEST_TZDB}-rearguard.tar.gz -C tzdata${LATEST_TZDB}-rearguard
ls -la
- name: Copy rearguard files
if: env.NOOP != 'true'
run: |
mkdir -p src/tzdb/${LATEST_TZDB}
cp -r target/tzdata${LATEST_TZDB}-rearguard/. src/tzdb/${LATEST_TZDB}
- name: Update build with new tzdb
if: env.NOOP != 'true'
run: |
mvn package -Dtzdb-update
mvn versions:set-property -DnewVersion=${LATEST_TZDB} -Dproperty=tz.database.version -DgenerateBackupPoms=false
- name: Create Pull Request
if: env.NOOP != 'true'
id: createpr
uses: peter-evans/create-pull-request@7380612b49221684fefa025244f2ef4008ae50ad #v3.10.1
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN_GH }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
base: main
commit-message: 'Update time zone data to ${{ env.LATEST_TZDB }}'
committer: Stephen Colebourne (CI) <scolebourne@joda.org>
author: Stephen Colebourne (CI) <scolebourne@joda.org>
title: 'Update time zone data to ${{ env.LATEST_TZDB }}'
body: 'Update time zone data to ${{ env.LATEST_TZDB }}'
assignees: jodastephen
labels: TZDB
branch: bot/update-tzdb