Skip to content

[REF] travis2docker: Drop .travis.yml support, keep only deployv images - #238

Merged
moylop260 merged 9 commits into
Vauxoo:mainfrom
vauxoo-dev:main-deployv-only-moy
Aug 7, 2026
Merged

[REF] travis2docker: Drop .travis.yml support, keep only deployv images#238
moylop260 merged 9 commits into
Vauxoo:mainfrom
vauxoo-dev:main-deployv-only-moy

Conversation

@moylop260

@moylop260 moylop260 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Remove the legacy .travis.yml based generation: the deployv images built from the CI (variables.sh) have been the only workflow used for years.

Changes

  • Drop .travis.yml support: remove the yml parsing (env matrix, addons, python versions), the travis-ci-apt-source-whitelist submodule, the travis templates (Dockerfile, entrypoint.sh, rvm_env.sh) and the examples/. The deployv flow (variables.sh + Dockerfile_deployv) is now the only mode; --deployv is kept as a deprecated no-op.
  • Remove PyYAML dependency: no yml parsing means no PyYAML, fixing the critical Dependabot alert #9 (PyYAML==3.12 ; python_version < '3.7' insecure deserialization, GHSA-rprw-h62v-c2w7).
  • Drop Python 3.9 and older: minimum is now 3.10 (GH Actions matrix, python_requires, classifiers, requirement markers, universal wheel flag).
  • Revert the --compatibility-version pin in tox.ini, no longer needed without py3.8.
  • Rename check tox env to lint, aligned with pylint-odoo / odoo-pre-commit-hooks.
  • Apply pre-commit-vauxoo autofixes and migrate os.path to pathlib (kept os.path.expandvars, no pathlib equivalent; docker_helper/build.py avoids modern syntax since it runs inside containers that may ship old python).

Tests were rewritten to build a local git repo fixture with a variables.sh and validate the generated Dockerfile (including dockerfile_lint) plus the missing-variables.sh error path.

tox -e py, tox -e lint and tox -e build pass.

The .travis.yml based generation has not been used for years since the
deployv images built from the CI (variables.sh) became the only workflow.

Remove the travis yml parsing (env matrix, addons, python versions and
apt-source-whitelist submodule), the travis templates, the examples and
the PyYAML dependency, fixing the Dependabot alert about PyYAML < 5.1
arbitrary code execution (GHSA-rprw-h62v-c2w7).

The --deployv flag is kept as a deprecated no-op for backward compatibility.
Minimum supported version is now Python 3.10: update the GitHub Actions
matrix, add python_requires, remove obsolete classifiers, the py2/py<3.7
requirement markers and the universal wheel flag.
…es with py3.8"

This reverts commit 7891fd6.

The pin to compatibility-version=20.20.* is no longer needed now that
Python 3.9 and older are not supported anymore.
Align the lint environment name with the rest of the Vauxoo PyPI
packages (pylint-odoo, odoo-pre-commit-hooks).
@moylop260
moylop260 force-pushed the main-deployv-only-moy branch from d2e2592 to 03271e8 Compare August 7, 2026 18:56
Autofixes applied after unpinning --compatibility-version: raw regex
strings, contextlib.suppress, partial pathlib usage and formatting.

The prints are kept on purpose: variables.sh disables the ruff print
check via RUFF_DISABLE_CHECKS.
Complete the pathlib migration started by the autofixes: Path objects
end to end in git_run, cli, travis2docker, docker_helper, tests and
setup.py. os.path.expandvars is dropped too: the shell already expands
environment variables before they reach argv.
Backslashes in a local Windows repo path were not replaced, so the bare
clone destination expanded into a deeply nested tree exceeding the 260
chars MAX_PATH limit (fatal: Filename too long). Flatten them like the
rest of the separators and enable core.longpaths in the Windows runner.

The tests also clone the fixture repo from a relative path: the
absolute path was duplicated inside the flattened clone dirname,
blowing past the Windows git dir length limit
(fatal: '$GIT_DIR' too big).
…-no-clone

Existing aliases and scripts still pass --exclude-after-success,
--travis-yml-path and --runs-at-the-end-script; accept them like
--deployv, print a WARNING when a value is going to be ignored and
document them as deprecated in the help, keeping each parameter in its
original position for a minimal diff.

--no-clone stays functional modernized to the deployv reality: the new
--variables-sh-path points to the variables.sh file (or the directory
containing it) and skips cloning the repository, the same logic
--travis-yml-path provided for .travis.yml.
Run the lint, docs and build jobs with python 3.14, the most recent
stable version, and add the python 3.14 and 3.15 classifiers to
setup.py.
@moylop260
moylop260 force-pushed the main-deployv-only-moy branch from 691b322 to c4fb639 Compare August 7, 2026 21:31
@moylop260
moylop260 merged commit ae63e1f into Vauxoo:main Aug 7, 2026
20 checks passed
@moylop260
moylop260 deleted the main-deployv-only-moy branch August 7, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant