storyboard/.zuul.yaml
Clark Boylan b502ec35b0 Omnibus fixups for storyboard testing and CI
Linting fails due to two different hacking rules: H214 and H216. We fix
H214 by using assertNotIn and assertIn over assertFalse(foo in bar) and
assertTrue(foo in bar). We ignore H216 as it says don't use the mock
library but storyboard actually does use mock and updating to use
unittest.mock appears to be a fair bit of work.

In the sqlaclhemy models we move some classes around to address this
error:
  sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped
  class Story->stories, expression 'TimeLineEvent' failed to locate a
  name ('TimeLineEvent'). If this is a class name, consider adding this
  relationship() to the <class 'storyboard.db.models.Story'> class after
  both dependent classes have been defined.

In the project loader we switch to using yaml.safe_load() to avoid the
missing Loader argument to yaml.load().

We pin jinja2 to < 3.0.0 as the old sphinx we've pinned to uses
contextfunction which appears to have been replaced in jinja2 3.0.0.
We should probably attempt to update the doc toolchain for storyboard
when we have time.

We pin MarkupSafe for similar reasons to the jinja2 pin. Version 2.1.0
of MarkupSafe removed the soft_unicode name which is used by sphinx.

Finally we run the python 3.6 and 3.7 jobs on ubuntu-bionic.

Change-Id: Ifcb6660ce2c89c21ba867aa88d942461bcff125d
2022-04-18 16:00:35 -07:00

120 lines
3.9 KiB
YAML

- job:
name: storyboard-tox-sqlite
parent: openstack-tox
description: |
Run tests using sqlite instead of mysql.
vars:
tox_envlist: sqlite
- secret:
name: storyboard-opendev-dockerhub
data:
username: opendevzuul
password: !encrypted/pkcs1-oaep
- BjUCfa2WGM0qlQStkP0TGIdlTr/ChlgRhyYv5W4xswnpju/NPZ4ARa7ThsoQzLBFG58Wr
hK/eEImMEpQzqcbFjhBCbGIdsvgM8ufD+piUOhKG56exYtBcyXaR48ZTHX3RHI+bbFHcV
TO7KmDiVbA8CbqUZpn54T523RBlbOfjPYCcoAuodL5RnKXShCCeyxZ4kXM0eTRTDaCivJ
kBkioHjqOrm/nY7fxIrRaBu1RsUr00837Ievx/9Np66YjviScaDv6AlOTaa6K7ja1yaVC
smxJtHtckY+5kP5ZRAsYuwh/rtfit7gOQn43cpKrrGY5YCjejTRMbOUtvl0ZWYhaPCG0o
dsaNZRWPHA18w1cnrCedfVB1F/KNvxEAmQTYCtbLtwSQCvA791Wy4aQjmXysK3fFXW0Jv
JN5ephA2skg2DaGXx1XY0tq6pWDwxCee0gbNGAVy89FHimOtjFrFDptPVgpWQfkpQ2NWt
vXzPRqw4qwhF+mAf+cc98I0mi4sQcaVVf7lRlS3zw7AXtia6I0m/NV3AuaUd1kEay94Q/
BTP2xl/6Zfcu0vWp3AZDwSi/RdHnlYGOH6BGAQEIiY6ygzkIU6IzSaochiQQnCfa3/7Ao
EzNVWsEXmm/COgtK3LsI7omHo7xApGaf0DYif8BG0GeoOzPPE6gcLNGkOnmtqA=
- job:
name: storyboard-build-opendev-image
parent: opendev-build-docker-image
dependencies: opendev-buildset-registry
description: Build OpenDev Docker images for storyboard
requires:
- python-base-container-image
- python-builder-container-image
provides: storyboard-container-image
vars: &storyboard_opendev_image_vars
zuul_work_dir: src/opendev.org/opendev/storyboard
docker_images:
- context: .
repository: opendevorg/storyboard
target: storyboard
- context: .
repository: opendevorg/storyboard-api
target: storyboard-api
- context: .
repository: opendevorg/storyboard-subscriber
target: storyboard-subscriber
- context: .
repository: opendevorg/storyboard-worker-daemon
target: storyboard-worker-daemon
- context: .
repository: opendevorg/storyboard-db-manage
target: storyboard-db-manage
- context: .
repository: opendevorg/storyboard-migrate
target: storyboard-migrate
- context: .
repository: opendevorg/storyboard-cron
target: storyboard-cron
- job:
name: storyboard-upload-opendev-image
parent: opendev-upload-docker-image
description: Build OpenDev storyboard Docker images and upload to Docker Hub.
requires:
- python-base-container-image
- python-builder-container-image
provides: storyboard-container-image
vars: *storyboard_opendev_image_vars
secrets:
- name: docker_credentials
secret: storyboard-opendev-dockerhub
pass-to-parent: true
- job:
name: storyboard-promote-opendev-image
parent: opendev-promote-docker-image
description: Promote previously uploaded storyboard Docker images.
vars: *storyboard_opendev_image_vars
secrets:
- name: docker_credentials
secret: storyboard-opendev-dockerhub
pass-to-parent: true
- project:
check:
jobs:
- tox-cover:
timeout: 6000
- storyboard-tox-sqlite
- tox-pep8
- tox-py36:
timeout: 6000
nodeset: ubuntu-bionic
- tox-py37:
timeout: 6000
nodeset: ubuntu-bionic
- tox-py38:
timeout: 6000
- opendev-buildset-registry
- storyboard-build-opendev-image
gate:
jobs:
- storyboard-tox-sqlite
- tox-pep8
- tox-py36:
timeout: 6000
nodeset: ubuntu-bionic
- tox-py37:
timeout: 6000
nodeset: ubuntu-bionic
- tox-py38:
timeout: 6000
- opendev-buildset-registry
- storyboard-upload-opendev-image
post:
jobs:
- publish-openstack-python-branch-tarball
promote:
jobs:
- storyboard-promote-opendev-image