Conversation
- Add ci.yml: runs backend+analysis tests and Django frontend tests on every PR and push to main using python:3.9.12 with pip cache - Add docker.yml: builds and pushes backend+frontend images to GHCR on merge to main using GITHUB_TOKEN (no extra secrets required) - Add release.yml: creates a GitHub Release with auto-generated notes on push of a v* tag - Update CLAUDE.md with CI badge and CI/CD reference table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ping-extensions conflict The root requirements.txt pulls in openai which depends on anyio>=3.5, which in turn requires typing_extensions>=4.4. The frontend requirements.txt pins typing-extensions==4.0.0, causing an ImportError at pytest startup. Frontend tests only use django.test so they only need the frontend requirements plus pytest/pytest-django. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
views.py imports psutil but it was only in the root requirements.txt, not in environment/frontend_server/requirements.txt. This caused the frontend CI job to fail with ModuleNotFoundError. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ons from CI pytest and pytest-django belong in environment/frontend_server/requirements.txt as proper project dependencies, not hardcoded in the workflow YAML. The CI workflow now just installs the requirements file — version updates only need to happen in one place. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… from CI Replace hardcoded python-version: "3.9.12" in both CI jobs with python-version-file: .python-version. The .python-version file is the single source of truth for the Python version, recognised by pyenv, actions/setup-python, and other tooling. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
gerrywu97
approved these changes
Mar 4, 2026
gerrywu97
approved these changes
Mar 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ci.yml: Runs two parallel jobs on every PR and push tomain:pytest tests/backend/ tests/analysis/ -v -p no:djangoonpython:3.9.12with pip cachepytest tests/frontend/ -vwithDJANGO_SETTINGS_MODULEsetdocker.yml: On merge tomain, builds and pushesedsim-backendandedsim-frontendimages to GHCR using the auto-providedGITHUB_TOKEN(no extra secrets needed)release.yml: On push of av*tag, creates a GitHub Release with auto-generated notes from merged PRsCLAUDE.md: Adds CI status badge and CI/CD reference tableTest plan
main→ Docker workflow builds and pushes images tohttps://github.com/orgs/denoslab/packagesgit tag v0.1.0 && git push origin v0.1.0→ Release created athttps://github.com/denoslab/EDSim/releases🤖 Generated with Claude Code