Commit Graph

136 Commits

Author SHA1 Message Date
FuzzyGrim
f6b2eb37f3 add pending answer stale workflow 2026-05-24 16:04:43 +02:00
FuzzyGrim
e51eedfa79 increase pr stale day 2026-05-23 16:03:50 +02:00
FuzzyGrim
0ec6aefa8c add stale issue close messaging 2026-05-23 15:59:32 +02:00
FuzzyGrim
881cc198f0 add stale issue and pr automation 2026-05-23 15:53:57 +02:00
David Davis
ecd86524e4 Fix build-docs workflow: use concrete Python version (#1444)
The setup-uv action passes python-version through as UV_PYTHON, and uv
does not accept the '3.x' wildcard that actions/setup-python supports.
This caused 'uv sync' to fail with:

    error: No interpreter found for executable name `3.x` in managed
    installations or search path

Pin to '3.12' to match requires-python and the version used in
app-tests.yml.

Co-authored-by: David Davis <86290+daviddavis@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-05-17 15:18:38 +02:00
David Davis
e6765fa636 Migrate to uv (#1434)
* init uv project

* fix workflow for uv

* updated docs

* update dependabot to use uv

* lock python version

* fix python version

* update uv deps

* Address PR review feedback

- Match dependency versions to dev branch (Django 5.2.13, allauth 65.15.1,
  health-check 4.2.2 with [celery,redis] extras, ruff 0.15.10, fakeredis[lua])
- Remove unused django-decorator-include
- Restore single-line ruff ignore array (unrelated whitespace)
- Drop description/readme; mark as non-package via [tool.uv]
- Install supervisor via apk in Dockerfile
- Fix CI: use 'uv run playwright install'; drop unused --all-extras
- README: set `dynamic = ["version"]` to avoid declaring version

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Fix container startup after switch to uv base image

- Dockerfile: prepend /.venv/bin to PATH so python/gunicorn/celery
  resolve directly (entrypoint.sh and supervisord.conf invoke them by
  name).
- entrypoint.sh: drop hardcoded /usr/local/bin/ prefix for supervisord;
  apk installs it to /usr/bin/supervisord, so let PATH resolve it.
- uv.lock: regenerated after pyproject.toml switched to dynamic version.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Add mkdocs and supervisor as uv deps; lint pyproject.toml

- Add a 'docs' dependency group with mkdocs and its plugins; switch
  build-docs.yml to use uv and remove docs/requirements.txt.
- Add supervisor to project deps so it ships in /.venv/bin instead of
  via apk in the Docker image.
- Add validate-pyproject and pyproject-fmt as dev deps and pre-commit
  hooks; reformat pyproject.toml accordingly.
- Drop unused dynamic version metadata (app version comes from the
  VERSION env var, not package metadata).

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Move uv virtualenv into /yamtrack workdir

Set WORKDIR before copying pyproject.toml and uv.lock so the
uv-managed virtualenv is created at /yamtrack/.venv. Update PATH
accordingly and ignore .venv in .dockerignore.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Pin Python version to 3.12

Add .python-version so uv (and pyenv) consistently select the
same interpreter when creating the virtualenv.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Enable uv bytecode compilation in Docker image

Set UV_COMPILE_BYTECODE=1 so uv precompiles .pyc files during
'uv sync'. This trades a small build-time cost for faster
container/worker startup since Python doesn't have to compile
modules on first import.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Use multi-stage Docker build to slim the runtime image

Build the virtualenv with uv in a builder stage based on
ghcr.io/astral-sh/uv:python3.12-alpine, then copy /yamtrack/.venv
into a clean python:3.12-alpine final stage. The final image no
longer carries the uv binary or its build cache, and collectstatic
runs via 'python manage.py' since the venv is on PATH.

Set UV_LINK_MODE=copy in the builder so packages are copied (not
symlinked from a cache that the final stage will not see).

Reduces image size by roughly 150 MB in local testing.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Drop validate-pyproject and pyproject-fmt; revert pyproject formatting

Remove the validate-pyproject and pyproject-fmt pre-commit hooks
and dev dependencies, and revert the cosmetic pyproject.toml
formatting that pyproject-fmt had applied (e.g. nested
[tool.ruff.lint.*] tables and tight list spacing) to match the
dev branch style.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Pin Alpine version and preserve bytecode in Docker build

- Pin both builder and final stages to alpine3.21 for reproducibility
  and binary compatibility between the virtualenv and runtime image.
- Stop deleting __pycache__ after uv sync so the bytecode compiled via
  UV_COMPILE_BYTECODE=1 is actually shipped, giving faster startup and
  avoiding runtime compilation on read-only filesystems.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Add django-tailwind-cli for Tailwind integration

Replaces the standalone tailwindcss CLI workflow with django-tailwind-cli,
which downloads and manages the standalone Tailwind binary itself. The
output path (static/css/main.css) is preserved so base.html and the
production build are unchanged.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Split dev dependency group into lint and test

The dev group now includes both via include-group, preserving the existing
'uv sync' behavior while allowing lint-only or test-only installs.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Revert "Add django-tailwind-cli for Tailwind integration"

This reverts commit 3796e53e347b81784e69fa0328c4e3d35be90d55.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* Add back pinning version to `0.0.0`

Using `dynamic`, uv tries to build an egg every time dependencies are
added/removed.

* Switch docs group from mkdocs to zensical

Upstream migrated documentation tooling from mkdocs to zensical. Replace
the mkdocs-* plugins in the docs dependency group with zensical and the
squidfunk fork of mike that zensical expects.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

---------

Co-authored-by: Eddi <75438446+minerop5000@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: David Davis <86290+daviddavis@users.noreply.github.com>
2026-05-17 14:58:53 +02:00
FuzzyGrim
72a2a18637 migrate docs to zensical 2026-05-17 14:04:54 +02:00
FuzzyGrim
105eda65ce pass git committers token to docs build 2026-05-15 14:45:11 +02:00
FuzzyGrim
a158d5b1b1 add versioned docs deployment 2026-05-15 12:40:05 +02:00
Alessandro Burzio
78aee8e8ed feat(add-docs): Add documentation (#1208)
* feat(docs): Add documentation & first configs

* feat(docs): update build-docs workflow to trigger on feat/add-docs branch

* feat(docs): update build-docs workflow to trigger on main branch

* feat(docs): Fixes
- Correctly rename `social-auth` from `social-auto` page
- Fix links in documentation
- Fix inline code formatting

* feat(docs): Update documentation structure and add installation guide

* feat(docs): add .cache to .gitignore

* feat(docs): Fix branch name in docs deployment workflow

* feat(docs): Fix branch name in docs deployment workflow
2026-05-10 15:48:43 +02:00
FuzzyGrim
4e8428034c add workflow to publish api image from feat/add-api 2026-04-18 23:54:15 +02:00
FuzzyGrim
76ed04966f configure dependabot to group minor/patch updates 2026-04-02 11:21:58 +02:00
dependabot[bot]
2befa20172 build(deps): bump dorny/paths-filter from 3 to 4 (#1313)
Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 3 to 4.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/v3...v4)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 23:25:00 +02:00
dependabot[bot]
680b96206a build(deps): bump codecov/codecov-action from 5 to 6 (#1314)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 6.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 23:03:41 +02:00
FuzzyGrim
32771ca373 increase open pull requests limit from dependabot 2026-03-31 21:48:38 +02:00
dependabot[bot]
1b7baa9bb2 build(deps): bump docker/setup-buildx-action from 3 to 4 (#1238)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 14:14:58 +02:00
dependabot[bot]
06e0e9583a build(deps): bump docker/build-push-action from 6 to 7 (#1237)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 14:12:05 +02:00
dependabot[bot]
1934d8c815 build(deps): bump docker/metadata-action from 5 to 6 (#1236)
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 14:11:47 +02:00
dependabot[bot]
f0c38bba31 build(deps): bump docker/setup-qemu-action from 3 to 4 (#1232)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 14:11:17 +02:00
dependabot[bot]
9044079624 build(deps): bump docker/login-action from 3 to 4 (#1231)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 14:10:55 +02:00
Xila Cai
2bea453234 Merge pull request #985 from FuzzyGrim/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-12-09 23:18:02 +01:00
Xila Cai
5d32b62682 Merge pull request #903 from FuzzyGrim/dependabot/github_actions/github/codeql-action-4
build(deps): bump github/codeql-action from 3 to 4
2025-12-09 22:50:01 +01:00
FuzzyGrim
ac2736d028 fix: add docker-compose package ecosystem to dependabot configuration 2025-11-27 12:55:58 +01:00
FuzzyGrim
8d52f5dcea fix: add docker package ecosystem to dependabot configuration 2025-11-27 12:52:58 +01:00
dependabot[bot]
a6eb2d8c22 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 03:05:29 +00:00
dependabot[bot]
6ce389db2e build(deps): bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 03:05:13 +00:00
dependabot[bot]
9ee9126d82 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 19:52:02 +00:00
dependabot[bot]
c309d39de8 build(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 03:05:12 +00:00
FuzzyGrim
15a4d84d77 add configuration to disable blank issues in issue template 2025-06-12 00:14:09 +02:00
FuzzyGrim
58a05ce426 refactor: streamline environment variable setup in workflow 2025-05-25 17:57:41 +02:00
FuzzyGrim
4dedc9f321 fix: revert to pull_request trigger for workflow checks and clean up YAML formatting 2025-05-24 13:50:31 +02:00
FuzzyGrim
74483acc62 Add versioning support to Dockerfile and GitHub Actions workflow 2025-04-23 22:21:41 +02:00
FuzzyGrim
4b57d01131 build(deps): update dependabot configuration to set open-pull-requests-limit for pip 2025-04-23 11:53:55 +02:00
Xila Cai
cf0d2b3a1a Update issue templates 2025-03-31 15:38:03 +02:00
FuzzyGrim
07f46b6bca fix: include 'src/events' in code coverage paths 2025-03-31 09:47:43 +02:00
FuzzyGrim
b448ba6d56 fix: add coverage combine step to build coverage report 2025-03-29 11:55:44 +01:00
FuzzyGrim
7d38980954 fix: update test workflow to run in parallel and adjust coverage settings 2025-03-28 18:20:25 +01:00
FuzzyGrim
d1f1da0b19 chore: simplify test coverage command by combining test runs 2025-03-27 22:26:13 +01:00
Xila Cai
e56723a717 Update feature request template 2025-03-23 20:27:47 +01:00
FuzzyGrim
6af6eb3412 Optimize Docker image workflow to conditionally log into the registry based on push flag 2025-03-22 15:33:35 +01:00
FuzzyGrim
0c46141295 Rename workflow to clarify it performs a dry run for Docker image cleanup 2025-03-20 22:21:26 +01:00
FuzzyGrim
ca3e7b6b28 Add dry-run workflow for Docker image cleanup and enable orphaned image deletion 2025-03-20 22:15:30 +01:00
FuzzyGrim
7c4647eb7e Update image cleanup workflow to enable deletion of ghost images 2025-03-20 21:19:26 +01:00
FuzzyGrim
c9cf91f422 Add validation option to image cleanup workflow 2025-03-20 21:17:23 +01:00
FuzzyGrim
b008e623dc Remove dry-run option from image cleanup workflow 2025-03-20 21:13:24 +01:00
FuzzyGrim
83eeccc282 Update image cleanup workflow to specify package and remove unnecessary permissions 2025-03-20 21:11:51 +01:00
FuzzyGrim
97d2158735 refactor image cleanup action 2025-03-20 21:10:02 +01:00
FuzzyGrim
a2a807dfca Add GitHub token to image cleanup workflow 2025-03-20 21:06:19 +01:00
FuzzyGrim
62e3fe8b06 Add write permissions for packages in image cleanup workflow 2025-03-20 21:00:34 +01:00
FuzzyGrim
51daad19b3 Update image cleanup workflow to schedule daily runs and modify cleanup action parameters 2025-03-20 20:57:52 +01:00