Skip to content

Conversation

@oestoer
Copy link
Member

@oestoer oestoer commented Dec 27, 2025

Adds CI/CD pipelines and improves test reliability by introducing fixtures and configuration for isolated test environments.

Docker and Build System:

  • Migrated dev container and base images from Debian Bookworm to Debian Trixie

Continuous Integration and Deployment:

  • Added a new GitHub Actions CI workflow (.github/workflows/ci.yaml) that builds and tests the app on each push or PR, and builds/pushes images to GHCR on release or master branch (.github/workflows/ci.yaml).
  • Updated dev image build workflow to use the new deps stage for faster builds with dependency caching (.github/workflows/build-dev-image.yaml).

Testing Improvements:

  • Introduced a test fixture module (t/lib/AccessSystem/Fixtures.pm) to reliably set up membership tiers and required tools for tests, improving test reproducibility (t/lib/AccessSystem/Fixtures.pm).
  • Updated tests to use isolated SQLite databases, set up schema and fixtures, and clean up after each run
  • Added a dedicated test configuration file with dummy keys and settings for isolated testing (accesssystem_api_test.conf).

Local Production Testing:

  • Added documentation and scripts for running the "production" container locally with PostgreSQL, including schema deployment and test data seeding (test-deploy/README.md).

Improve person relationship handling by checking `parent_id` directly and setting `is_admin` during door access creation, and enhance test setup with schema deployment, fixture creation for 'The Door' and 'Donation' tier, and more robust tool creation.
…cluding a start script, database seeding, and setup instructions.
@oestoer oestoer force-pushed the oestoer/tests-in-ci branch from 87b6acd to 5d1022d Compare January 18, 2026 13:57
if(!$self->parent) {
# Check parent_id column directly to avoid relationship resolution issues
# on newly created objects that haven't been stored yet
my $parent_id = $self->get_column('parent_id');
Copy link
Member Author

@oestoer oestoer Jan 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the changes in this file, I was unable to get the tests working. Please check if it makes sense.

@oestoer oestoer marked this pull request as ready for review January 18, 2026 14:42
@oestoer oestoer mentioned this pull request Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants