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
Python 2.7 is deprecated now, and some dependencies have dropped their
support for it. We should also just drop support for it rather than
pinning the dependency versions.
This commit also switches to a generic Python 3 tox environment,
adds additional test jobs for more Python 3 versions, and cleans up
some Python 2 compatibility cruft.
Change-Id: I3e7cc1713dec1bada4a85f75362c4fa4f89ceae6
To simplify the launchpadlib dependency installation for the
storyboard-migrate utility, use a separate tox testenv specifically
for this purpose and put that as its only additional runtime
requirement. Name the testenv "lpimport" with the expectation that
in time we may also rename the storyboard-migrate utility similarly
(so as to disambiguate it from the Alembic migrations we rely on
for database schema upgrades).
Change-Id: I8bd36bf69c235c8957ae4a161fd22cbe80028cf4
Make it possible for allowed_origins and valid_oauth_clients to
include regular expressions, for cases where part or all of the
domain/URL cannot be predicted or easily enumerated.
Change-Id: I9cfc729547560438e0fa1e47cc90cd5579168c73
After spending the PTG and subsequent meetings triaging
the entire backlog of active StoryBoard stories, we have
settled on a list of tags that we will use moving forward
to help sort and organize work.
Change-Id: I5eccbbaeb025ac0604774a1270663edf113c9be3
Explain a bit more about the nature of our open community, and make
connections between this and StoryBoard's unique feature set.
Move the REST API section to the bottom, since this is the least
user-facing aspect and more of an implementation detail.
Also tweak the wording from the style in the original blog post, to
reflect that this is now documentation of a project which is no longer
brand new.
Change-Id: I0a9cac50f3d6d5db13b3d820f0212632cc048454
Within the documentation about how to setup own development
instance, there is a missing tox environment name in sections
that describe how to launch worker for notifications.
This change introduces the missing parts of tox commands.
Change-Id: If32707bd2f93310723fbcdb045e2781edd65fb78
This updates the manual development installation instructions to be
more similar to the docker instructions in wording, and also
clarifies some previously-unmentioned pain points.
The RabbitMQ setup instructions are also moved into the manual setup
section, since the docker instructions already cover it for that
use-case.
Change-Id: I16ae43bed70d03bfce2fbe07dea9e58ff073d42f
This adds a docker-compose.yml file which runs the various services
required for a working development instance of StoryBoard (and also
Swift, which technically isn't needed yet). It also provides a config
file which is pre-configured to work out of the box with the services
in the docker-compose.yml file.
It also updates the development installation instructions to recommend
using docker-compose to run the services, rather than installing them
on a machine and configuring everything manually.
Change-Id: I405e2e46f6ab7d8ef2c1ddd43b3e2e8cb8e3a808
This adds more up to date documentation on how to run the tests locally.
It recommends the sqlite target for unittests as they are faster but
includes directions for setting up mysql and postgresql for running the
test suite against production like backends.
Change-Id: I56f6d6b586ec5274943fbef35f635b03bf22c4bd
There are some inaccuracies and unnecessary instructions in the
development installation docs page. This commit clarifies and
updates them where possible to make them less likely to lead to
immediate problems.
Change-Id: I8ae9bfe4709aebf24eb86d4bcb36d66445b60ffb
This commit fixes a longstanding bug whereby someone setting up
a development instance of StoryBoard would need to modify their
user in the relevant table manually, or add their openid to a
YAML file and run an extra step, in order to actually do anything
useful.
Now, the first user to log in to a StoryBoard instance is made into
a superuser if no other users exist already for whatever reason.
Change-Id: I43b2644b2232c6e342e4d03c8ba16b4fc9e74ddc
This patch does a little reorganization of the gui docs.
It adds a section solely focused on the creation and
functions of boards. It also adds a section on best
practices as we get a lot of questions about how things
should be done.
Change-Id: Id208d2edb754030a75ba2c1884fd8ef0b620a6af
There were two disjointed user guides which are unified in this
patch. In the future, they will live in the webclient repo instead
of here, but for the time being we need a more unified front for our
users.
Change-Id: Icb5b9a46b8e45518392de617ba9eee3fb9bf04fd
To make full use of the new 4-byte character set in columns for
MySQL, connections to the database need to also specify
charset=utf8mb4. The easiest way to do that is by tacking it on as a
variable in the DBURI string. Do this both in the test migration
script and in the documented sample and test configs.
Change-Id: Icf5f74543f6d062cafe2166d384f37f46394e964
The new two command line parameters filter the bugs:
- by selecting only the bug which contains at least one tag from the set;
- by excluding the bugs which contains at least one tag from the set.
The two options are mutually exclusive.
Story: 2000876
Task: 6684
Change-Id: I8e2043b4832efda4fac44e65dd56d37e1af393e3
With the newer versions of tox the syntax has
changed for how to run storyboard-db-manage,
storyboard-api, etc. This patch makes the necessary
updates to reflect those changes so that the commands
work.
Change-Id: I0e52a2816ae7a4f6406cf0aa71cbf988e24ba66f
For most of the tests for storyboard sqlite is around 10 times faster
than MySQL (more for non-SSD systems). An sqlite database does not
support some operations, like modifying constraints or dropping
columns, so we cannot avoid testing with MySQL. We can however use
sqlite for local development to reduce the pain involved with running
tests as part of the development process.
This patch adds a tox environment for running the tests against
sqlite3. The new tox environment is intended to be used by developers
as well as the new check and gate job defined in .zuul.yaml.
The new job ensures that changes to alembic migration scripts continue
to work with sqlite.
This patch also modifies the existing alter scripts to skip steps not
supported under sqlite. Those steps aren't strictly needed, and they
are still tested when the CI system runs the tests with MySQL.
Change-Id: Icb979cb03e10c56519a90ea3976a4da2d9bddb05
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Currently there is no documenation to guide users in how to use
StoryBoard's gui. This patch creates this documentation.
Also it uppercases the B in StoryBoard in two places in the index page.
Change-Id: I068f1fae3dffbf82018e3201a8dbefc9f1866440
Story: 2000627
Task: 3068
When the wsmeext.sphinxext extension is initialized during the
documentation build it registers some autodoc classes that use the
same objtype as built-in types. This causes the associated directives
to be overridden, which emits a warning. That warning prevents us from
turning on warning-is-error in the build. Since there is nothing we
can do about it, we want to ignore it.
Change-Id: Ie74174176d6140467c60ea864dc2df4dc2287604
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Fix the syntax for one toctree element and make the indentation for
all of them consistent.
Change-Id: I11abeda4a7568c741fc1303e00b008eca419ad4b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Let sphinx determine the link and insert the title of the page to
avoid a warning about a duplicate "read more here" link.
Change-Id: Id32ccf0f5a36739b0cbbc287e9bba3962aff4019
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Move the information about using worklists from the more general
theory info about storyboard.
Change-Id: Iaefc0cb0115c5855ee756a764c21214ab23675ca
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Make the heading styles consistent and use different styles for the
page title and in-page headings so they are all displayed in the HTML
output.
Change-Id: I6685eea7c4840e60aa92316d7c42cb9c29932c2f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Fix some indentation and other markup issues in the RST for the
documentation.
Change-Id: I921445f7120335510ee7b203a2210737012bcdf2
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Move documentation dependencies to doc/requirements.txt
Change tox.ini to run sphinx-build directly, like the zuul job does.
Switch from oslosphinx to openstackdocstheme.
Change-Id: I079ff78edacaba673461824af770344cb3a896f2
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit removes the instructions and tooling
to set up a StoryBoard VM via vagrant.
It is unmaintained, and has been for about 2.5 years.
We believe it is both unused and unlikely to work,
so we should avoid indicating that we advise using it.
Change-Id: I9d6853f0b0ea822d5cac0b13b8f1aa0b0e55d0ac