Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
99e8aa4
build(deps-dev): bump serialize-javascript from 7.0.4 to 7.0.5
dependabot[bot] Mar 29, 2026
f7da334
build(deps): bump lodash from 4.17.23 to 4.18.1
dependabot[bot] Apr 10, 2026
cad701e
Handle empty sections in AnswerTree
emmatekulova Apr 13, 2026
2c01e9f
Use short_title in compute_navigation
jochenklar Apr 16, 2026
b2e27b0
Add a POST alternative for ProjectViewSet.resolve for bulk condition …
jochenklar Apr 18, 2026
18ecaaa
Use bulk condition checking in interview
jochenklar Apr 18, 2026
011356a
Optimize database access and validation
jochenklar Apr 18, 2026
a2c2f26
Add test_viewset_project_resolve.py
jochenklar Apr 19, 2026
f1af913
Fix value_file.html template and deprecate Pandoc 1
jochenklar Apr 19, 2026
204996b
Fix pandoc test
jochenklar Apr 19, 2026
c94951a
Test navigation short title for section and page #1589
MyPyDavid Apr 27, 2026
497601c
Scope translation overrides to tests make non-leaky
MyPyDavid Apr 27, 2026
c740eda
style: make changes minimal
MyPyDavid Apr 29, 2026
a66fad3
Add tests for navigation for a catalog without sections or pages
jochenklar Apr 16, 2026
e3e3dfa
Remove slack and add matrix and mastodon to README and pyproject.toml
jochenklar Apr 30, 2026
b8bfc61
Use os.pathsep to seperate --resource-path for pandoc
jochenklar Apr 30, 2026
e3acb62
Add pypi-release to GitHub workflow
jochenklar May 1, 2026
0f64ea3
Disable cache for the build step in the GitHub workflow on tags
jochenklar May 2, 2026
aa71f3a
Add select_related for Attribute queryset and split for index,nested …
MyPyDavid May 7, 2026
f5582c3
Add default_option to questions models prefetch and do not annotate f…
MyPyDavid May 7, 2026
75ccdfb
Add CustomSiteAdmin and add id to list display
MyPyDavid May 7, 2026
ad813f2
Do not prefetch for the index action on conditions,options and option…
MyPyDavid May 7, 2026
f1ec6c9
Also do not prefetch for the index action on views and tasks
MyPyDavid May 7, 2026
1a38bf6
Add simple performance tests for query counts on api actions
MyPyDavid May 7, 2026
a55a41f
ci: switch to smaller ubuntu-slim runner image
afuetterer Mar 10, 2026
3edd549
Rename import to DjangoSiteAdmin, add link and search and order by id
MyPyDavid May 8, 2026
7da6be9
Add test for new SiteAdmin
MyPyDavid May 8, 2026
86edd49
Add openapi urls to core urls (conditionally)
jochenklar May 8, 2026
318d5fb
Use DRF token or session authentication for the schema
jochenklar May 8, 2026
1f0d0e1
Merge pull request #1588 from rdmorganiser/2.4.5/fix/pandoc
jochenklar May 9, 2026
4f10019
Merge pull request #1599 from rdmorganiser/2.4.5/pypi
jochenklar May 9, 2026
596aa60
Merge pull request #1595 from rdmorganiser/2.4.5/readme
jochenklar May 9, 2026
6d0dedd
build(deps-dev): bump @babel/plugin-transform-modules-systemjs
dependabot[bot] May 9, 2026
535b527
Merge pull request #1555 from afuetterer/ci
jochenklar May 10, 2026
1db402c
Merge pull request #1587 from rdmorganiser/2.4.5/fix-conditions
jochenklar May 10, 2026
151b0a7
Merge pull request #1583 from emmatekulova/2.4.4/fix/empty-section-an…
jochenklar May 10, 2026
26aeb17
Merge pull request #1592 from rdmorganiser/2.4.5/test/navigation-with…
jochenklar May 10, 2026
6f33170
Merge pull request #1601 from rdmorganiser/2.4.5/fix/add-id-to-site-a…
MyPyDavid May 11, 2026
757e139
Remove editors from AttributeViewSet prefetch and do not use select_r…
MyPyDavid May 11, 2026
248e5bb
Add tests for api performance of all elements
MyPyDavid May 13, 2026
4bf0ba3
Clean up tests
MyPyDavid May 13, 2026
0ef1b74
Optimize queries for export and detail_export actions on elements
MyPyDavid May 13, 2026
5f4c0a8
Add test for index attributes action
MyPyDavid May 13, 2026
1140b53
Refactor and optimize prefetch lookups for questions with recursive f…
MyPyDavid May 13, 2026
66d6167
Apply simple fix to exportParams for not nested action #1467
MyPyDavid May 13, 2026
964f42e
build(pre-commit): pre-commit autoupdate by ci
pre-commit-ci[bot] May 4, 2026
c62e7d1
style: fix RUF061 Use context-manager form of pytest.raises
MyPyDavid May 13, 2026
7a9e4ec
ci: pin actions to full release commit SHAs
MyPyDavid May 13, 2026
dbfee46
Merge pull request #1580 from rdmorganiser/dependabot/npm_and_yarn/lo…
MyPyDavid May 13, 2026
b3786f2
Merge pull request #1605 from rdmorganiser/dependabot/npm_and_yarn/ba…
MyPyDavid May 13, 2026
d280f6e
build(deps-dev): bump fast-uri from 3.1.0 to 3.1.2
dependabot[bot] May 13, 2026
4c4afc3
Merge pull request #1604 from rdmorganiser/dependabot/npm_and_yarn/fa…
MyPyDavid May 13, 2026
e76676a
Refactor tests
jochenklar May 15, 2026
733ba22
Refactor Attribute exports
jochenklar May 15, 2026
0b5100e
Use get_supported_language_variant in TranslationMixin
jochenklar May 15, 2026
62b0bc8
Fix QuestionSetQuestionSetValidator
jochenklar May 15, 2026
f68677f
Update tests
jochenklar May 15, 2026
4956703
Merge pull request #1602 from rdmorganiser/2.4.5/fix/export-url-query…
MyPyDavid May 18, 2026
a844b1d
build(deps): bump yaml from 1.10.2 to 1.10.3
dependabot[bot] May 18, 2026
43d1dd0
build(deps-dev): bump flatted from 3.4.1 to 3.4.2
dependabot[bot] May 18, 2026
4b08be4
build(deps): bump picomatch
dependabot[bot] May 18, 2026
f8fc560
Merge pull request #1586 from rdmorganiser/2.4.5/fix/navigation
jochenklar May 18, 2026
d269d5f
Merge pull request #1569 from rdmorganiser/dependabot/npm_and_yarn/ya…
MyPyDavid May 18, 2026
f62100f
Merge pull request #1570 from rdmorganiser/dependabot/npm_and_yarn/mu…
MyPyDavid May 18, 2026
d31de3b
Merge pull request #1573 from rdmorganiser/dependabot/npm_and_yarn/se…
MyPyDavid May 18, 2026
5837042
Merge pull request #1566 from rdmorganiser/dependabot/npm_and_yarn/fl…
MyPyDavid May 18, 2026
2239ab7
Merge pull request #1548 from rdmorganiser/pre-commit-ci-update-config
MyPyDavid May 18, 2026
5dd350d
build(deps): update packaging requirement
dependabot[bot] Mar 1, 2026
fe1a620
Simplify tests
jochenklar May 19, 2026
6945da3
Merge pull request #1614 from rdmorganiser/2.4.5/fix/questionset-vali…
jochenklar May 19, 2026
0b4a51f
Add PROJECT_INVITE_USE_PROJECT_SITE setting and use it in get_invite_…
CalamityC May 12, 2026
f1461cd
Add test
CalamityC May 12, 2026
34502f1
Change test
CalamityC May 12, 2026
274710e
Change test back and fix it
CalamityC May 12, 2026
81bf755
Add context to AttributeExportSerializer calls
MyPyDavid May 20, 2026
b4ee4cf
Add export serializer context to questions export actions
MyPyDavid May 20, 2026
1d95756
Also refactor catalog performance test
MyPyDavid May 20, 2026
2d4903a
Refactor lookups into questions/prefetch.py and add a lookup for proj…
MyPyDavid May 20, 2026
8797201
Add api performance test for project answers
MyPyDavid May 20, 2026
f3fcf22
build(deps-dev): bump the dev-dependencies group across 1 directory w…
dependabot[bot] May 20, 2026
ef2b74d
build(deps-dev): bump the optional group across 1 directory with 3 up…
dependabot[bot] May 20, 2026
9852c0f
build(deps): bump the github-actions group across 1 directory with 2 …
dependabot[bot] May 20, 2026
3e41dac
Merge pull request #1576 from rdmorganiser/dependabot/pip/dependency-…
MyPyDavid May 20, 2026
ce12340
Merge pull request #1620 from rdmorganiser/dependabot/github_actions/…
MyPyDavid May 20, 2026
8239f2c
Merge pull request #1616 from rdmorganiser/2.4.5/fix/optimize-managem…
MyPyDavid May 20, 2026
37b3f43
build(deps-dev): update setuptools requirement from <81,>=73 to >=73,<83
dependabot[bot] Mar 1, 2026
bf47ac7
Merge pull request #1545 from rdmorganiser/dependabot/pip/dependency-…
MyPyDavid May 20, 2026
51e406a
Refactor get_invite_email_project_path and write test
CalamityC May 20, 2026
fb77d66
Remove test from wrong file
CalamityC May 20, 2026
7f029f0
Fix other test due to function changes
CalamityC May 20, 2026
90e68a2
pin ESlint to max v9
MyPyDavid May 20, 2026
2671d31
Add AnswerTree related endpoints to projects api perf test
MyPyDavid May 20, 2026
725a2fa
Use rf pytest fixture in tests
CalamityC May 20, 2026
c7c6af1
Remove comment
CalamityC May 20, 2026
c4cc1b3
Remove default_option from select related in Question prefetch and lo…
MyPyDavid May 20, 2026
219cfa0
ci: pin dependabot ESlint to max major 8
MyPyDavid May 21, 2026
b85868b
js: keep ESLint 8
MyPyDavid May 21, 2026
f2b5e25
Add check for users with out site to get_invite_email_project_path
jochenklar May 21, 2026
5e2c0c9
Merge pull request #1619 from rdmorganiser/dependabot/npm_and_yarn/de…
MyPyDavid May 21, 2026
d466f98
Merge pull request #1609 from rdmorganiser/2.4.5/improve-email-invita…
CalamityC May 21, 2026
1f91a01
build(deps): bump the prod-dependencies group across 1 directory with…
dependabot[bot] May 20, 2026
7159131
Add ignoreKnownDependencyWarnings to build:dist for react-datepicker
MyPyDavid May 20, 2026
a854486
ci: pin dependabot jquery to max major 3
MyPyDavid May 21, 2026
d79b244
js: keep jquery 3.7.1
MyPyDavid May 21, 2026
ca011e0
Fix styling for react-diff rows at import
MyPyDavid May 21, 2026
00b507e
Fix styling of borders of react-diff pre at import
MyPyDavid May 21, 2026
18c7625
js: re-make package-lock.json with npm install"
MyPyDavid May 21, 2026
c7ff02f
ci: do not use parallel xdist for test-e2e
MyPyDavid May 21, 2026
9cccacc
Select a specific catalog for e2e copy test
MyPyDavid May 21, 2026
0386a9b
Merge pull request #1621 from rdmorganiser/dependabot/npm_and_yarn/de…
MyPyDavid May 21, 2026
5368b91
tests(e2e): refactor fixtures and make teardowns more robust
MyPyDavid May 21, 2026
a917da8
Revert "ci: do not use parallel xdist for test-e2e"
MyPyDavid May 21, 2026
fa0e7e6
Keep borders and spacing on import diff field rows as before
MyPyDavid May 22, 2026
8693b5c
Refactor and update import diff field rows
MyPyDavid May 22, 2026
830f0d9
Refactor prefetching
jochenklar May 22, 2026
da59051
Improve get_section_for_page
jochenklar May 22, 2026
6e78ab3
Rename and adjust query tests
jochenklar May 22, 2026
63f10b3
Refactor nested serializers
jochenklar May 22, 2026
1492909
Refactor OptionSetNestedSerializer and add OptionNestedSerializer
jochenklar May 22, 2026
2f89b1b
Rename remaining get_export_renderer_context methods
jochenklar May 22, 2026
3d993d8
Move get_condition_uris and get_condition_uris to models
jochenklar May 22, 2026
7407b31
Fix nested serializers
jochenklar May 22, 2026
418d73c
build(deps): bump js-cookie from 3.0.5 to 3.0.7
MyPyDavid May 22, 2026
a4f2238
Merge pull request #1622 from rdmorganiser/dependency-updates
MyPyDavid May 22, 2026
bc94b27
Add is_collection to PageNested and QuestionSetNested serializers
MyPyDavid May 27, 2026
38ca003
Merge pull request #1600 from rdmorganiser/2.4.5/fix/optimize-managem…
MyPyDavid May 27, 2026
0e33c71
Add test for checking permissions on ancestor elements #1628
MyPyDavid May 29, 2026
eea8c8a
Fix permission checks on parent field in ThroughModelSerializerMixin …
MyPyDavid May 29, 2026
42700bb
Add and use create-with-parent from status map for test assertions
MyPyDavid Jun 1, 2026
6030bd0
Refactor get_parent_fields in ThroughModelSerializerMixin for re-use
MyPyDavid Jun 1, 2026
f31d4a2
Add tests for checking foreign-site parent questions elements at create
MyPyDavid Jun 1, 2026
e546132
Add foo and bar parent questions elements fixtures and increase max q…
MyPyDavid Jun 1, 2026
fa413f0
Refactor test helper for object permission status code
MyPyDavid Jun 1, 2026
8a5a17a
build(deps): bump the prod-dependency date-fns to 4.4.0
MyPyDavid Jun 1, 2026
a4009dd
build(deps-dev): bump the dev-dependency sass-loader to 17.0.0
MyPyDavid Jun 1, 2026
b8e2a97
build(deps-dev): bump the optional group with 2 updates
dependabot[bot] Jun 1, 2026
dac4720
Remove redundant test module, refactored into *_rejects_foreign_site_…
MyPyDavid Jun 1, 2026
5bd560a
Refactor parent field methods and get_object_permission helper function
MyPyDavid Jun 1, 2026
209911d
Adjust .field-diff styling
jochenklar Jun 1, 2026
79bf4b9
build(pre-commit): apply pre-commit autoupdate --freeze
MyPyDavid Jun 2, 2026
e539de6
build(pre-commit): update typos to frozen 1.47.0
MyPyDavid Jun 2, 2026
86308db
build(pre-commit): remove autoupdate from ci and add comment for manu…
MyPyDavid Jun 2, 2026
28f063a
Merge pull request #1613 from rdmorganiser/2.4.5/dependency-updates
MyPyDavid Jun 2, 2026
1a3268c
Rename and move sites fixture
jochenklar Jun 2, 2026
bbb5e45
Slightly refactor ThroughModelSerializerMixin
jochenklar Jun 2, 2026
cbb853c
Use status code mappings in multisite tests
MyPyDavid Jun 3, 2026
0789c66
Add multisite tests for options and optionsets
MyPyDavid Jun 3, 2026
47f8377
Simplify multisite create-with-parent tests
MyPyDavid Jun 3, 2026
09daae7
Merge pull request #1629 from rdmorganiser/2.4.5/fix/check-ancestor-e…
jochenklar Jun 8, 2026
c1f5e32
Update CHANGELOG.md
jochenklar Dec 22, 2025
8462e9b
Remove unwanted spaces in view tag templates (#556)
jochenklar Jan 8, 2026
8def7d7
Fix project.html test files
jochenklar Jan 19, 2026
4e28053
build(deps): bump django to >= 5.2.8
afuetterer Oct 28, 2025
f9afca6
tests: make utils parse date test compatible with python 3.14
MyPyDavid Jan 16, 2026
18b6174
Add MESSAGE_STORAGE to settings
jochenklar Jan 8, 2026
884c0e4
feat: add support for python 3.14
afuetterer Jan 21, 2026
85afef3
Overwrite static tag to include version
jochenklar Jan 16, 2026
2d18928
Use custom storage instead of static tag
jochenklar Jan 16, 2026
8c2811b
Add nh3 to clean markdown content (#453)
jochenklar Jan 8, 2026
e43641a
Disable MARKDOWN_CLEAN by default
jochenklar Jun 2, 2026
a351d2a
Fix pyproject.toml
jochenklar Jun 8, 2026
ab34a5f
Merge pull request #1603 from rdmorganiser/openapi-improvements
jochenklar Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ updates:
update-types: ["version-update:semver-patch"] # ignore patch versions for all JavaScript dependencies
- dependency-name: react-redux
update-types: ["version-update:semver-major"] # ignore major for react-redux
- dependency-name: eslint
update-types: ["version-update:semver-major"] # keep eslint 8.56.0 for now
- dependency-name: jquery
update-types: [ "version-update:semver-major" ] # keep jQuery 3.x until Bootstrap is upgraded
groups:
react:
patterns:
Expand Down
92 changes: 58 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
push:
branches:
- main
tags:
- '*'
pull_request:
# run CI only if files in these whitelisted paths are changed
paths:
Expand Down Expand Up @@ -31,42 +33,42 @@ permissions: {}

jobs:

build-wheel:
name: Build python wheel
build:
name: Build python package
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0 # important for setuptools_scm
# build the webpack bundle
- uses: actions/setup-node@v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.22
cache: npm
- run: npm ci && npm run build:dist
cache: ${{ startsWith(github.ref, 'refs/tags/') && '' || 'npm' }} # disable cache on tags
- name: build front end
run: npm ci && npm run build:dist
- name: Build and inspect package
uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516 # v2.14.0
uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df # v2.18.0

test:
name: "Test (Python: ${{ matrix.python-version }}, DB: ${{ matrix.db-backend }})"
needs: build-wheel
needs: build
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ['3.10', '3.13']
python-version: ['3.10', '3.14']
db-backend: [mysql, postgres]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Download wheel
uses: actions/download-artifact@v6
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: Packages
path: dist
Expand Down Expand Up @@ -94,7 +96,7 @@ jobs:
- name: Run package status tests first
run: |
pytest rdmo/core/tests/test_package_status.py --nomigrations --verbose
if: matrix.python-version == '3.13' && matrix.db-backend == 'postgres'
if: matrix.python-version == '3.14' && matrix.db-backend == 'postgres'
- name: Run Tests
run: |
pytest -p randomly -p no:cacheprovider --cov --reuse-db --numprocesses=auto --dist=loadscope
Expand All @@ -110,23 +112,23 @@ jobs:

test-e2e:
name: "End-to-end Test (Python: ${{ matrix.python-version }}, DB: ${{ matrix.db-backend }})"
needs: build-wheel
needs: build
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ['3.13']
python-version: ['3.14']
db-backend: [postgres]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Download wheel
uses: actions/download-artifact@v6
- name: Download package
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: Packages
path: dist
Expand Down Expand Up @@ -154,7 +156,7 @@ jobs:
env:
DJANGO_DEBUG: True
GITHUB_DB_BACKEND: ${{ matrix.db-backend }}
- uses: actions/upload-artifact@v5
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: screenshots
path: screenshots/**/*.png
Expand All @@ -163,7 +165,7 @@ jobs:
name: Indicate completion to coveralls
needs: test
if: ${{ always() }}
runs-on: ubuntu-24.04
runs-on: ubuntu-slim
steps:
- name: Run Coveralls finish
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7
Expand All @@ -179,30 +181,30 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
python-version: "3.14"
cache: pip
- run: python -Im pip install --editable .[dev]
- run: python -Ic 'import rdmo; print(rdmo.__version__)'

dependencies:
name: Test installation of all dependencies
needs: build-wheel
needs: build
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
python-version: "3.14"
cache: pip
- name: Download wheel
uses: actions/download-artifact@v6
- name: Download package
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: Packages
path: dist
Expand All @@ -213,7 +215,7 @@ jobs:
run: python -m pip install --no-compile "$(ls dist/*.whl)[all]"
- name: Verify installed packages have compatible dependencies
run: python -m pip check
- uses: actions/setup-node@v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22
cache: npm
Expand Down Expand Up @@ -244,16 +246,38 @@ jobs:
echo -e "\`\`\`\n</details>"
} >> $GITHUB_STEP_SUMMARY

pypi-release:
name: Publish distribution to PyPI
if: startsWith(github.ref, 'refs/tags/')
needs:
- build
- test
- test-e2e
runs-on: ubuntu-24.04
environment:
name: pypi
url: https://pypi.org/p/rdmo
permissions:
id-token: write
steps:
- name: Download package
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: Packages
path: dist
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0

required-checks-pass:
if: always()
needs:
- build-wheel
- build
- test
- coveralls
- test-e2e
- dev-setup
- dependencies
runs-on: ubuntu-24.04
runs-on: ubuntu-slim
steps:
- uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
Expand Down
4 changes: 4 additions & 0 deletions .github/zizmor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
rules:
cache-poisoning:
ignore:
- ci.yml
16 changes: 8 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
# Run manual autoupdate with:
# pre-commit autoupdate --freeze
# pre-commit run --all-files

# do not touch the migration files at all: these are auto-generated by Django
exclude: \/migrations\/
Expand All @@ -9,7 +12,7 @@ repos:
hooks:
- id: check-hooks-apply
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
hooks:
- id: check-ast
- id: check-json
Expand All @@ -22,12 +25,12 @@ repos:
exclude: \.dot$
- id: debug-statements
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
rev: 0671d8ab202c4ac093b78433ae5baf74f3fc7246 # frozen: v0.15.15
hooks:
- id: ruff-check
args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v9.39.1
rev: 61e8b06e669ce52c94348373faab214beaa8cd4c # frozen: v10.4.1
hooks:
- id: eslint
args: [--fix, --color]
Expand All @@ -36,7 +39,7 @@ repos:
- eslint-plugin-react@7.37.0
- react@18.3.1
- repo: https://github.com/crate-ci/typos
rev: v1.40.0
rev: f8a58b6b53f2279f71eb605f03a4ae4d10608f45 # frozen: v1.47.0
hooks:
- id: typos
exclude: |
Expand All @@ -50,12 +53,9 @@ repos:
testing/.*.xml
)$
- repo: https://github.com/zizmorcore/zizmor-pre-commit
rev: v1.18.0
rev: 9257c6050c0261b8c57e712f632dc4a8010109a9 # frozen: v1.25.2
hooks:
- id: zizmor
args: [--fix, --offline]
ci:
autoupdate_schedule: monthly
autofix_prs: false
autoupdate_branch: 'dependency-updates'
autoupdate_commit_msg: 'build(pre-commit): pre-commit autoupdate by ci'
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog 📔

## [RDMO 2.5.0](https://github.com/rdmorganiser/rdmo/releases/tag/2.5.0)

**Milestone**: [2.5.0](https://github.com/rdmorganiser/rdmo/milestone/26)

**Commit history**: [2.4.0...2.5.0](https://github.com/rdmorganiser/rdmo/compare/2.4.0...2.5.0)

## [RDMO 2.4.4](https://github.com/rdmorganiser/rdmo/releases/tag/2.4.4) (March 26, 2026)

### Bug fixes 🐛
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ RDMO is a tool to support the systematic planning, organisation and implementati
<dd>https://rdmo.readthedocs.io</dd>
<dt>Mailing list</dt>
<dd>https://www.listserv.dfn.de/sympa/subscribe/rdmo</dd>
<dt>Slack</dt>
<dd>https://rdmo.slack.com</dd>
<dt>Matrix</dt>
<dd>https://matrix.to/#/#rdmo:matrix.org</dd>
<dt>Demo</dt>
<dd>https://rdmo.aip.de</dd>
</dl>
Expand Down
17 changes: 17 additions & 0 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import json
import shutil
from pathlib import Path
from types import SimpleNamespace

import pytest

from django.conf import settings
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from django.core.management import call_command

from rdmo.accounts.utils import set_group_permissions
Expand Down Expand Up @@ -75,3 +77,18 @@ def delete_all(*models):
for model in models:
model.objects.all().delete()
return delete_all


@pytest.fixture
def sites(settings):
Site.objects.clear_cache()

def activate(domain):
site = Site.objects.get(domain=domain)
settings.SITE_ID = site.id
Site.objects.clear_cache()
return site

yield SimpleNamespace(activate=activate)

Site.objects.clear_cache()
Loading
Loading