Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	.github/CHANGELOG.rst
#	docs/conf.py
#	tabbycat/settings/core.py
  • Loading branch information
tienne-B committed Nov 28, 2023
2 parents da15d5a + d6ee091 commit 4334a0c
Show file tree
Hide file tree
Showing 1,261 changed files with 188,567 additions and 66,596 deletions.
26 changes: 25 additions & 1 deletion .github/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,42 @@
Change Log
==========

2.8.0 (Quokka)
---------
*Release date: 28 November 2023*

- The term "iron person" is now used throughout the platform for consistency and inclusivity. Thanks to @dcorks for the pull request!
- The number of times a team has had an iron-speaker is now tracked as a team metric.
- 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>`_)
- Info Slides can now use rich-text formatting (e.g. bold, links, etc). Thanks to Trần Trang Linh for adding this feature!
- Speaker and break category forms have better validation and fewer fields.
- Tournaments can be created specifying private URL use directly. Thanks to Sébastien Dunne Fulmer!
- Implemented support for APDA-style tournaments with:
- Avoidance for a team to repeatedly meet pulled-up teams,
- A new two-team draw generator to minimize penalties globally within brackets,
- Team seeding for the first round,
- The ability to give ranks to speeches in addition to speaker scores, and
- A preset to enable these options.
- API Updates:
- Documentation is now automatically generated and available under the ``/api/schema/redoc/`` path on all sites.
- Preformed panels are now accessible using the API.
- Team and speaker scores by round has a new endpoint. Thanks to Ido Wolf for the feature!
- The site's timezone is shown in the root endpoint. Thanks to Daan Koning!
- \+ so many more little improvements and fixes!


2.7.8
-----
*Release date: 13 August 2023*

- Fixed some issues with Docker-based deployments.


2.7.7
-----
*Release date: 23 April 2023*

- Removed expired ad campaign.
- Removed expired ad campaign


2.7.6
Expand Down
29 changes: 14 additions & 15 deletions .github/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ Development

- 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.

- A number of extra dependencies are required for running tests, linting, and serving the documentation. These can be installed with::

$ pip install -r 'config/requirements_development.txt'

- 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::

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

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

$ npm run lint-sass
$ pre-commit run stylelint --all-files

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::

$ npm run lint-vue
$ pre-commit run eslint --all-files

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::

$ pre-commit run --all-files

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

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

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

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

These can then be compiled using::

$ dj compilemessages -l es

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>`_.
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>`_.

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::

Expand All @@ -157,8 +157,8 @@ Release checklist

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

</div>

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).
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/).

**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.

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

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).

We also invite new translations of the interface through [Crowdin](https://crowdin.com/project/tabbycat)! Get in touch for access to our translation platform.
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).

## ©️ Licence

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).
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.

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.

## ✏️ Authors

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/django.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: Django CI
on:
push:
branches:
- '**'
- '!l10n_develop'
- 'develop'
- 'master'
pull_request:
branches:
- '**'
Expand All @@ -17,7 +17,7 @@ jobs:

services:
postgres:
image: postgres:11
image: postgres:12
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
Expand All @@ -34,13 +34,13 @@ jobs:
- name: Set up Python
# The actions/cache step below uses this id to get the exact python version
id: setup-python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version-file: '.python-version' # Read python version from a file .python-version
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 12.x
node-version-file: '.nvmrc'
- name: Cache node modules
uses: actions/cache@v3
env:
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ repos:
- svg
- id: check-yaml
- id: check-added-large-files
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: flake8
additional_dependencies:
Expand Down

0 comments on commit 4334a0c

Please sign in to comment.