Skip to content

Merge pull request #121 from bxparks/develop #800

Merge pull request #121 from bxparks/develop

Merge pull request #121 from bxparks/develop #800

Workflow file for this run

# See https://docs.github.com/en/actions/guides for documentation about GitHub
# Actions.
name: Validation Tests
# Run on all branches.
on: [push]
jobs:
build:
runs-on: ubuntu-latest
# Tried to use
# https://github.com/actions/checkout#Checkout-multiple-repos-side-by-side,
# but it looks like GITHUB_WORKSPACE is set to
# /home/runner/work/AceTime/AceTime, so if path is set to 'main' as
# suggested in the article, then the repo location is set to
# /home/runner/work/Acetime/AceTime/main/AceTime, which is really
# confusing. Instead, use 'cd ..' to go up a level and call 'git clone'
# manually.
steps:
- name: Checkout AceTime
uses: actions/checkout@v4
- name: Checkout Additional Repos
run: |
cd ..
git clone --depth 1 https://github.com/HowardHinnant/date
git clone --depth 1 https://github.com/bxparks/AUnit
git clone --depth 1 https://github.com/bxparks/AceCommon
git clone --depth 1 https://github.com/bxparks/AceSorting
git clone --depth 1 https://github.com/bxparks/AceTimeTools
git clone --depth 1 https://github.com/bxparks/AceTimeValidation
git clone --depth 1 https://github.com/bxparks/EpoxyDuino
git clone --depth 1 https://github.com/bxparks/acetimec
git clone --depth 1 https://github.com/bxparks/acetimepy
git clone https://github.com/eggert/tz
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ../AceTimeTools/requirements.txt
pip install -e ../AceTimeTools
pip install -r ../acetimepy/requirements.txt
pip install -e ../acetimepy
- name: Install libcurl4-openssl-dev
run: |
sudo apt update
sudo apt install -y libcurl4-openssl-dev
- name: Build Compare tools
run: |
make -C ../acetimec/src
make -C ../AceTimeValidation/tools/compare_acetime
make -C ../AceTimeValidation/tools/compare_acetimec
make -C ../AceTimeValidation/tools/compare_libc
make -C ../AceTimeValidation/tools/compare_hinnant
# Run the 'tests' target in AceTimeValidations which runs HinnantBasicTest,
# HinnantExtendedTest, AcetzBasicTest, and AcetzExtendedTest. We don't run
# the others because when a new TZDB version comes out, the Python
# zoneinfo, Python pytz, Python dateutil, Java tests, and others will fail
# because they depend on the obsolete TZ database on the host Operating
# System.
- name: AceTimeValidation
run: |
cd ../AceTimeValidation
make -j2 -C tests tests
make -C tests runtests