name: Internationalization check on: push: branches: [master, features] pull_request: branches: [master, features] jobs: internationalization: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Install dependencies run: | pip install --upgrade pip pipenv pipenv sync -d - name: Check i18n run: | pipenv run pybabel extract --output=/tmp/kosmorro-messages.pot _kosmorro echo diff=$(diff _kosmorro/locales/messages.pot /tmp/kosmorro-messages.pot | grep '^>') n=$(echo "$diff" | grep -v '> "POT-Creation-Date: ' | wc -l) if [ "$(echo "$diff" | grep -E '^"Generated-By: Babel' | wc -l)" -eq "1" ]; then echo "❌ You dependencies may be out of date!" echo " Please run the following command to fix this:" echo echo " pipenv sync --dev" echo echo " Then update the messages file:" echo echo " make messages" exit 2 fi if [ "$n" -ne "0" ]; then echo "❌ The messages file is not up-to-date!" echo " Please run the following command to fix this:" echo echo " make messages" exit 1 fi echo "✔ Messages file up-to-date."