Skip to content

Update repo template to test new .pot file generation #926

Update repo template to test new .pot file generation

Update repo template to test new .pot file generation #926

Workflow file for this run

name: tests
on:
pull_request:
branches:
- "16.0*"
push:
branches:
- "16.0"
- "16.0-ocabot-*"
jobs:
unreleased-deps:
runs-on: ubuntu-latest
name: Detect unreleased dependencies
steps:
- uses: actions/checkout@v4
- run: |
for reqfile in requirements.txt test-requirements.txt ; do
if [ -f ${reqfile} ] ; then
result=0
# reject non-comment lines that contain a / (i.e. URLs, relative paths)
grep "^[^#].*/" ${reqfile} || result=$?
if [ $result -eq 0 ] ; then
echo "Unreleased dependencies found in ${reqfile}."
exit 1
fi
fi
done
test:
runs-on: ubuntu-22.04
container: ${{ matrix.container }}
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest
name: test with Odoo
- container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest
name: test with OCB
makepot: "true"
services:
postgres:
image: postgres:12.0
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_DB: odoo
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install addons and dependencies
run: oca_install_addons
- name: Check licenses
run: manifestoo -d . check-licenses
- name: Check development status
run: manifestoo -d . check-dev-status --default-dev-status=Beta
- name: Initialize test db
run: oca_init_test_database
- name: Run tests
run: oca_run_tests
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Prepare .pot files update
run: |
git reset --hard ${{ github.sha }}
oca_export_and_commit_pot
mkdir oca-ci-po-patch && touch oca-ci-po-patch/keep
git format-patch --output-directory=oca-ci-po-patch --keep-subject @{u}..@ */i18n/*.po*
if: matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'OCA'
- uses: actions/upload-artifact@v4
with:
name: oca-ci-po-patch
path: oca-ci-po-patch
retention-days: 7
if: matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'OCA'
push-pot:
needs: [test]
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.repository_owner == 'OCA'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: oca-ci-po-patch
path: oca-ci-po-patch
- name: Configure git user
run: |
git config user.name "oca-ci"
git config user.email "oca-ci@odoo-community.org"
- name: Apply .pot files changes
run: git am --keep oca-ci-po-patch/*.patch
if: ${{ hashFiles('oca-ci-po-patch/*.patch') != '' }}
- name: Push .pot file changes
run: git push
if: ${{ hashFiles('oca-ci-po-patch/*.patch') != '' }}
# Don't fail in case something has changed upstream in the meantime
continue-on-error: true