* release-copy-debs-yml job expects relase-trunk-$(distribution)
* trigger_builds: use 'trunk' as release parameter
so is clear a trunk build
If we use 'release-trunk-$dist' it gets detected as a release
* repoapi: filter out settings.BUILD_RELEASE_JOBS of the list of projects
when release_uuid is set
Change-Id: I7e522bc05cf4388889fa4aba8828d3254cf983ee
settings.DEBUG doesn't have the proper value defined at settings.dev
use override_settings in BaseTest to fix it and use it on all apps
if necessary
Add a test and mark as expectedFailure to document this
Change-Id: I2017bf695469f4d98db9e5278e43a9e89b5a6be5
This will help us when jumping to Django 2+
> /code/repoapi/urls.py:93: RemovedInDjango20Warning: Specifying a namespace in
> django.conf.urls.include() without providing an app_name is deprecated. Set
> the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns
> and app_name instead.
> url(r"^build/", include("build.urls", namespace="build")),
* py-test: set norecursedirs due to 'build' is in the default
so build app was not included in the test
* py-test: raise errors if warnings from Django are detected
from repoapi
Change-Id: Iab74024a435c1d7851cfe5a51f0ae54a044791a3
This will help us when jumping to Django 2+
> RemovedInDjango20Warning: Importing from django.core.urlresolvers is deprecated in favor of django.urls.
Change-Id: I13c3e1e8aea93aa48d1f7997eb6daae3b7dcfecc
Tasks should deal only with serialize/de-serialize parameters
work need to be external so it can be tested easily
* don't call a task directly in tests that causes:
> ======================================================================
> ERROR: test_hotfixreleased (hotfix.test.test_hotfix_released.TestHotfixReleased)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/code/venv_dev/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
> return obj.__dict__[self.__name__]
> KeyError: 'backend'
Change-Id: I620f10d5c58563cc4af2898429bbe1a9a60007b5
* skip pylint check for now, lots of changes needed to pass
* tmux.sh support using a different tag for repoapi image
this helps to download a tag from a review localy and
hack
Change-Id: I63f034d9d4b73f7e6eb69b0cd3ad6f731281f806
* build: don't fail if no builds on done property
* fix progress stats on panel_uuid
* stop sending queries if release is done
Change-Id: I4fb4c6c161a852bb8f5ee978cec053d98e38a1f8
* added mr8.1.2 and data to test it
* don't add project as failed for piuparts job with FAILURE status
Change-Id: I95a8bdbf5a73b4f353d99bc172f879a90870e1f0
Adds support to export data using filters
to yaml via django admin interface
* add tmux.sh helper and update README.md
* requirements: set max supported versions for django 1.11
https://github.com/praekelt/django-export
Change-Id: Ia9af0610725795c588e0bafd06cd6cfcffd9873f
* list of supported releases is only going to grow
better to group them
* add some more config yaml files to able to produce
groups in test
Change-Id: I13fa7e6f3de08b5f131dc5c19cfd28d0ed7a4f53
* smart build release reading per release metadata file
provided by sipwise-repos-scripts-data package
* build release will trigger settings.RELEASE_JOBS jobs first
* old build process hidden at /release_panel/old/
as a fallback just in case
* some examples of config/<release>.yml files
just for test
* style changes by black pre-commit plugin to unify
code style
* rework panel.js to support both views /release/ and /release_uuid/
via $.release.uuid value
* cosmetic improvements
Change-Id: I5f581100e6c297a1cc0abc4bb1ddf978870b6936
* for running on dev environment point to README.md on Dockerfile
* add watchdog for dev to decrease IO/CPU workload as documentation suggests
> https://django-extensions.readthedocs.io/en/latest/runserver_plus.html
* coverage.rc file to define where to store data
needed on jenkins environment where only results dir has rw perms
* use my own fork for django-jenkins until project is back alive
Change-Id: If3d9b442759a2841ff3441609c3164987fbbb6c5
Set debhelper compat level in Build-Depends instead of debian/compat.
Do not explicitly request the systemd sequence.
Use dh_installsystemd instead of deprecated dh_systemd_*.
Change-Id: Ic8cbf795de90aa8900a899706ce6e0474a8e6eed
Merge two file stanzas for Sipwise copyright, and use the one with the
canonical Sipwise copyright entity.
Change-Id: I68abd326d976d1db99e119c88d834662daf824d8
Fixes:
| No attribute 'code' on urllib.request._HTTPResponse [attribute-error]
as reported by pytype.
The urllib module has been split into parts and renamed in Python 3 to
urllib.request, urllib.parse, and urllib.error, and therefore will fail
with:
| AttributeError: module 'urllib' has no attribute 'request'
This used to work only because other components loaded within repoapi
did the `import urllib.request` for us.
Also the errors were never reported as such, as e.g. 404 errors are
throwing an exception (instead of provided as return code as expected by
our code so far), which we didn't catch so far. And the arguments
provided to logger/ logging were incorrect (number vs string), so fix
this and also slightly improve the logging messages while at it.
JFTR, `import urllib.request` is py3k-only, which is fine for us though,
since repoapi is supporting only py3k nowadays. We should also think
about migrating from urllib towards requests everywhere.
Change-Id: Ibc965daa94216aaad80758dba0f50a74d8658887
Otherwise building against Debian/buster with python 3.7 fails with:
| File "/build/repoapi-0.3.0+0~20190702124241.289+buster~1.gbp167a8a/venv_prod/lib/python3.7/site-packages/django/contrib/admin/widgets.py", line 151
| '%s=%s' % (k, v) for k, v in params.items(),
| ^
| SyntaxError: Generator expression must be parenthesized
The underlying issue is #32012 in python (see
https://bugs.python.org/issue32012), which disallows ambiguous syntax
f(x for x in [1],), which is fixed only with Django >=1.11.17, see
931c60c521
Quoting from https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django:
| Django version | Python versions
+----------------+-------------------------------------------
| 1.11 | 2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
| 2.0 | 3.4, 3.5, 3.6, 3.7
| 2.1, 2.2 | 3.5, 3.6, 3.7
| 3.0 | 3.6, 3.7, 3.8
Change-Id: I4a1db7488792e5374c0f82629dfcfba0a6419be5
We usually use either "ignore" or "branch/master" and those are within
the 15 character limits of BuildTrunkDepForm() and
BuildTrunkReleaseForm().
But when building against "branch/stretch/master" or
"branch/buster/master", we trigger a `form validation error` because
both branch/stretch/master and branch/buster/master have more than 15
characters.
Raise character limit from 15 to 30 characters.
Change-Id: Icc1f8ee46dcb250c2d40da9ca25fef0d6924db1e