Skip to content

Commit 4334a0c

Browse files
committed
Merge branch 'develop'
# Conflicts: # .github/CHANGELOG.rst # docs/conf.py # tabbycat/settings/core.py
2 parents da15d5a + d6ee091 commit 4334a0c

File tree

1,261 files changed

+188567
-66596
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,261 files changed

+188567
-66596
lines changed

.github/CHANGELOG.rst

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,42 @@
22
Change Log
33
==========
44

5+
2.8.0 (Quokka)
6+
---------
7+
*Release date: 28 November 2023*
8+
9+
- The term "iron person" is now used throughout the platform for consistency and inclusivity. Thanks to @dcorks for the pull request!
10+
- The number of times a team has had an iron-speaker is now tracked as a team metric.
11+
- Added new emoji from Unicode 12 and 13. Thank you to Daan Koning for the pull request! (`#2143 <https://github.com/TabbycatDebate/tabbycat/issues/2143>`_)
12+
- Info Slides can now use rich-text formatting (e.g. bold, links, etc). Thanks to Trần Trang Linh for adding this feature!
13+
- Speaker and break category forms have better validation and fewer fields.
14+
- Tournaments can be created specifying private URL use directly. Thanks to Sébastien Dunne Fulmer!
15+
- Implemented support for APDA-style tournaments with:
16+
- Avoidance for a team to repeatedly meet pulled-up teams,
17+
- A new two-team draw generator to minimize penalties globally within brackets,
18+
- Team seeding for the first round,
19+
- The ability to give ranks to speeches in addition to speaker scores, and
20+
- A preset to enable these options.
21+
- API Updates:
22+
- Documentation is now automatically generated and available under the ``/api/schema/redoc/`` path on all sites.
23+
- Preformed panels are now accessible using the API.
24+
- Team and speaker scores by round has a new endpoint. Thanks to Ido Wolf for the feature!
25+
- The site's timezone is shown in the root endpoint. Thanks to Daan Koning!
26+
- \+ so many more little improvements and fixes!
27+
528

629
2.7.8
730
-----
831
*Release date: 13 August 2023*
932

1033
- Fixed some issues with Docker-based deployments.
1134

35+
1236
2.7.7
1337
-----
1438
*Release date: 23 April 2023*
1539

16-
- Removed expired ad campaign.
40+
- Removed expired ad campaign
1741

1842

1943
2.7.6

.github/CONTRIBUTING.rst

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ Development
3535

3636
- A number of our tests use `Selenium <http://selenium-python.readthedocs.io>`_ and `ChromeDriver <https://sites.google.com/a/chromium.org/chromedriver/>`_ to simulate in-browser functionality. They will fail if you do not have the Chrome browser and ChromeDriver installed.
3737

38-
- A number of extra dependencies are required for running tests, linting, and serving the documentation. These can be installed with::
39-
40-
$ pip install -r 'config/requirements_development.txt'
41-
4238
- We use `pre-commit <https://pre-commit.com/>`_ to run code style checks (linters). To have them run as a git hook automatically before every commit::
4339

4440
$ pre-commit install
@@ -80,11 +76,15 @@ For python code, we use `flake8 <http://flake8.readthedocs.io>`_ to check for a
8076

8177
For stylesheets, we use `stylelint <https://stylelint.io>`_. The relevant code can be checked by using::
8278

83-
$ npm run lint-sass
79+
$ pre-commit run stylelint --all-files
8480

8581
For javascript, we use `eslint <http://eslint.org/>`_ to enforce the `standardJS <https://standardjs.com>`_ style and the standard recommendation of the vue plugin for eslint. The relevant code can be checked by using::
8682

87-
$ npm run lint-vue
83+
$ pre-commit run eslint --all-files
84+
85+
You can also run all of the above style checkers, as well as a style checker for yaml and some non-language specific style checkers provided by `pre-commit-hooks <https://github.com/pre-commit/pre-commit-hooks>`_, by using::
86+
87+
$ pre-commit run --all-files
8888

8989
Project organization
9090
====================
@@ -135,15 +135,15 @@ The `gettext <https://docs.djangoproject.com/en/2.2/topics/i18n/translation/>`_
135135

136136
The backend's translation files can be updated from the ``tabbycat`` directory using one or more of the supporting language codes (see settings.py)::
137137

138-
$ dj makemessages -l es
138+
$ dj makemessages -len --no-wrap --no-obsolete --add-location file
139139

140-
To do more than one language, just specify ``-l`` multiple times, _e.g._ ``-les -lar``.
140+
Then our `Crowdin <https://crowdin.com/project/tabbycat>`_ project will find the updated strings and mark them for translation.
141141

142142
These can then be compiled using::
143143

144144
$ dj compilemessages -l es
145145

146-
As it stands Heroku needs the .mo files pre-compiled (see `issue in Heroku Python buildpack <https://github.com/heroku/heroku-buildpack-python/issues/198>`_, so these are committed to Git. Note that the English (``en``) language files should not be compiled; their sole purpose is to provide a source language for `Crowdin <https://crowdin.com/project/tabbycat>`_.
146+
As it stands Heroku needs the .mo files pre-compiled (see `issue in Heroku Python buildpack <https://github.com/heroku/heroku-buildpack-python/issues/198>`_, so these are committed to Git. Note that the English (``en``) language files need not be compiled; their sole purpose is to provide a source language for `Crowdin <https://crowdin.com/project/tabbycat>`_.
147147

148148
Strings defined in Vue files must similarily be marked with ``gettext`` but must be added manually to ``tabbycat/locale/LANGUAGE_CODE/djangojs.po``, for each language supported. These can then compiled to javascript bundles using::
149149

@@ -157,8 +157,8 @@ Release checklist
157157

158158
1. Check that all migrations have been generated and committed into Git
159159
2. Merge translations from the Crowdin pull request and compile messages
160-
3. Bump version number in ``docs/conf.py`` and ``docs/api-schema.yml`` (if applicable)
161-
4. Bump version number and (if applicable) codename in ``tabbycat/settings/core.py``
160+
3. Bump version number in ``docs/conf.py``
161+
4. Bump version number, API version number and (if applicable) codename in ``tabbycat/settings/core.py``
162162
5. Update the main ``CHANGELOG.rst`` file (including release date)
163163
6. Check the major current deployment options, including:
164164
1. The ``deploy_heroku.py`` script
@@ -170,7 +170,6 @@ Release checklist
170170
8. Shift remaining issues from the Github Milestone
171171
9. Create and finish the release branch as per git-flow
172172
10. Ensure the tag is correct (``vX.Y.Z``) and published to GitHub
173-
11. Back-merge ``master`` to the ``kitten`` branch
174-
12. Back-merge ``develop`` to the in-progress feature branches
175-
13. Issue a formal release with change notes on GitHub
176-
14. Post change notes on the Facebook page/group
173+
11. Back-merge ``develop`` to the in-progress feature branches
174+
12. Issue a formal release with change notes on GitHub
175+
13. Post change notes on the Facebook page/group

.github/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
</div>
1515

16-
Tabbycat is a draw tabulation system for British Parliamentary and a variety of two-team formats. It was used at Australs 2010 and 2012–2019, EUDC 2018, WUDC 2019–2020 and many other tournaments of all sizes and formats. To see an example of a post-tournament website, have a look at the [WUDC 2020 tab website](https://wudc2020.herokuapp.com).
16+
Tabbycat is a draw tabulation system for British Parliamentary and a variety of two-team formats. It was used at Australs 2010 and 2012–2019, EUDC 2018, WUDC 2019–2022 and many other tournaments of all sizes and formats. To see an example of a post-tournament website, have a look at the [WUDC 2022 tab website](https://wudc2022.calicotab.com/wudc/).
1717

1818
**Want to try it out?** The best way to trial Tabbycat is just to launch a new site, as described [below](#%EF%B8%8F-installation)). It takes just a few clicks, requires no technical background, and you can always deploy a fresh copy when you're ready to run your tournament.
1919

@@ -50,11 +50,13 @@ If you have any feedback or would like to request support, we'd love to hear fro
5050

5151
Contributions are welcome, and are greatly appreciated! Details about how to contribute [are also outlined in our documentation](http://tabbycat.readthedocs.io/en/latest/about/contributing.html).
5252

53-
We also invite new translations of the interface through [Crowdin](https://crowdin.com/project/tabbycat)! Get in touch for access to our translation platform.
53+
Monetary donations are much appreciated and help us to continue the development and maintenance of Tabbycat. We suggest that tournaments donate at the level of C$1 (1 Canadian dollar) per team; especially if your tournament is run for profit or fundraising purposes. More details [are available in our documentation](http://tabbycat.readthedocs.io/en/latest/about/licence.html).
5454

5555
## ©️ Licence
5656

57-
We haven't released Tabbycat under an open-source licence, so there is no formal and general right to use this software. Nonetheless, you're welcome to freely use Tabbycat to help run a debating tournament. However, if your tournament is run as a for-profit or for-fundraising activity a donation to Tabbycat's maintainers is required. More details [are available in our licence information](http://tabbycat.readthedocs.io/en/latest/about/licence.html).
57+
Tabbycat is licensed under the terms of the [GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/). You may copy, distribute, and modify this software; however note that this licence requires (amongst other provisions) that any modifications you make to Tabbycat be made public.
58+
59+
If you wish to modify Tabbycat in a proprietary fashion we (the developers) are open to negotiating a dual licence for this purpose. Please [contact us](http://tabbycat.readthedocs.io/en/latest/authors.html#authors) if this is the case for you.
5860

5961
## ✏️ Authors
6062

.github/workflows/django.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ name: Django CI
33
on:
44
push:
55
branches:
6-
- '**'
7-
- '!l10n_develop'
6+
- 'develop'
7+
- 'master'
88
pull_request:
99
branches:
1010
- '**'
@@ -17,7 +17,7 @@ jobs:
1717

1818
services:
1919
postgres:
20-
image: postgres:11
20+
image: postgres:12
2121
env:
2222
POSTGRES_USER: postgres
2323
POSTGRES_PASSWORD: postgres
@@ -34,13 +34,13 @@ jobs:
3434
- name: Set up Python
3535
# The actions/cache step below uses this id to get the exact python version
3636
id: setup-python
37-
uses: actions/setup-python@v3
37+
uses: actions/setup-python@v4
3838
with:
39-
python-version: 3.9
39+
python-version-file: '.python-version' # Read python version from a file .python-version
4040
- name: Set up Node.js
4141
uses: actions/setup-node@v3
4242
with:
43-
node-version: 12.x
43+
node-version-file: '.nvmrc'
4444
- name: Cache node modules
4545
uses: actions/cache@v3
4646
env:

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ repos:
1212
- svg
1313
- id: check-yaml
1414
- id: check-added-large-files
15-
- repo: https://gitlab.com/pycqa/flake8
16-
rev: 3.7.9
15+
- repo: https://github.com/PyCQA/flake8
16+
rev: 5.0.4
1717
hooks:
1818
- id: flake8
1919
additional_dependencies:

0 commit comments

Comments
 (0)