Commit Graph

176 Commits

Author SHA1 Message Date
david 368582b27b fix: add tag existence check in release workflow
Test / unit-tests (push) Successful in 2m27s
- Check if tag already exists before creating it
- Skip tag creation if tag already exists
2026-03-31 23:18:48 -07:00
david 7ee336c51c fix: resolve release workflow version bump issues
Test / unit-tests (push) Has been cancelled
- Fixed bump-version.js to properly handle --yes flag in CI environments
- Added check to skip commit if no changes to package.json or CHANGELOG.md
- Ensured script exits cleanly after version bump with --yes flag
2026-03-31 23:18:18 -07:00
david d24e810ad1 refactor: revert CI image approach and use standard npm ci in workflows
Test / unit-tests (push) Successful in 2m32s
Pull Request / unit-tests (pull_request) Successful in 2m36s
Pull Request / acceptance-tests (pull_request) Failing after 4m59s
Pull Request / analyze-bump-type (pull_request) Has been skipped
The CI image approach with pre-installed dependencies doesn't work with Gitea Actions due to workspace mounting issues. When Gitea Actions runs a container job, it mounts the workspace at a specific path (e.g., /workspace/david/euchre_camp), which hides the container's /app directory where dependencies were installed.

Changes:
- Reverted pr.yml unit-tests to use node:20-alpine with npm ci
- Updated pr.yml acceptance-tests to use mcr.microsoft.com/playwright image with npm ci
- Updated test.yml to use node:20-alpine with npm ci
- Removed ci-image-builder.yml workflow
- Removed Dockerfile.ci and build-ci-image.sh
- Updated AGENTS.md and README.md to document the deprecation
- Updated justfile to remove CI image commands

The standard approach of running npm ci in each workflow is the recommended approach for Gitea Actions.
2026-03-31 23:10:50 -07:00
david 397594a9df fix: symlink from /app/node_modules to workspace
Test / unit-tests (push) Failing after 53s
Pull Request / unit-tests (pull_request) Failing after 54s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 23:04:22 -07:00
david 4116884f9f fix: add /app/node_modules to PATH and NODE_PATH
Test / unit-tests (push) Failing after 11s
Pull Request / unit-tests (pull_request) Failing after 10s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 23:02:56 -07:00
david b445d9044a chore: revert Dockerfile back to /app directory
Test / unit-tests (push) Failing after 8s
Pull Request / unit-tests (pull_request) Failing after 8s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 23:01:48 -07:00
david 81c93bafc1 fix: use NODE_PATH env var instead of symlinks 2026-03-31 23:01:36 -07:00
david ba180ae6e1 fix: move node_modules to /workspace in CI image and update symlink
Test / unit-tests (push) Failing after 9s
Pull Request / unit-tests (pull_request) Failing after 9s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 22:57:10 -07:00
david c611c68822 fix: use symlinks to link node_modules from container
Test / unit-tests (push) Failing after 52s
Pull Request / unit-tests (pull_request) Failing after 52s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 22:53:40 -07:00
david 4c2687498f fix: update workflows to checkout in /app directory
Test / unit-tests (push) Failing after 5s
Pull Request / unit-tests (pull_request) Failing after 6s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
2026-03-31 22:41:11 -07:00
david 3983049d2c fix: use correct docker registry and image name
Pull Request / unit-tests (pull_request) Failing after 9s
Pull Request / acceptance-tests (pull_request) Has been skipped
Pull Request / analyze-bump-type (pull_request) Has been skipped
Test / unit-tests (push) Failing after 8s
2026-03-31 22:19:54 -07:00
david 941d857feb docs: update documentation with CI image info 2026-03-31 22:19:09 -07:00
david b686c3673e chore: add script for building CI image locally 2026-03-31 22:19:06 -07:00
david dfd66cde0b ci: add CI image builder workflow and Dockerfile 2026-03-31 22:19:03 -07:00
david 501e1b7e23 fix: version bumping and Docker registry authentication (#17)
Release / release (push) Failing after 1m9s
Test / unit-tests (push) Successful in 2m5s
## Summary

This PR fixes the release workflow to properly handle version bumping on PR merge and uses the new Docker registry authentication secrets.

## Changes

### Release Workflow (release.yml)
- **Version Bumping**: Now automatically bumps version on PR merge
  - Determines bump type from commit messages (major/minor/patch)
  - Commits version bump to `package.json` and `CHANGELOG.md`
  - Creates git tag for the release
- **Docker Registry Auth**: Uses `DOCKER_LOGIN` and `DOCKER_PASSWORD` secrets
  - Falls back gracefully if secrets are not configured
- **Tag Handling**: Checks if tag exists before creating (prevents failures)

### PR Workflow (pr.yml) - NEW
- Runs unit tests on every PR
- Analyzes commits to suggest bump type
- Comments the suggested bump type on the PR

### Documentation
- Added `WORKFLOW_ARCHITECTURE.md` explaining the workflow design

## Workflow Architecture

**Two-step process:**
1. **PR Workflow** (on PR): Analyzes commits and suggests bump type
2. **Release Workflow** (on merge): Bumps version, creates tag, builds Docker image

## Benefits

1. **No CI Loops**: Version bump commits are detected and skipped
2. **Clear Communication**: PR comments inform developers of version impact
3. **Semantic Versioning**: Automated adherence to semver rules
4. **Traceability**: Git tags and changelog reflect all changes

## Testing

The new workflows will be tested when this PR is merged.

Closes #13 (Add database test safety configuration)

Reviewed-on: #17
Co-authored-by: David Gwilliam <dhgwilliam@gmail.com>
Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
2026-04-01 05:03:14 +00:00
david 9768ff3517 fix: handle Docker registry authentication gracefully in release workflow
Release / build-and-test (push) Failing after 5m20s
2026-03-31 19:37:34 -07:00
david 0343fa91d2 fix: run unit tests on branch commits, skip main branch
Release / build-and-test (push) Has been cancelled
2026-03-31 19:33:16 -07:00
david b654571a37 feat: add test workflow for every commit
Release / build-and-test (push) Has been cancelled
Test / safe-acceptance-tests (push) Has been cancelled
Test / unit-tests (push) Has been cancelled
2026-03-31 19:30:14 -07:00
david 0090611994 trigger: release with test-capable image
Release / build-and-test (push) Has been cancelled
2026-03-31 19:28:10 -07:00
david 9416159712 feat: build test-capable image, run tests, then build production image
Release / build-and-test (push) Has been cancelled
2026-03-31 19:27:59 -07:00
david d39172ca44 trigger: release workflow
Release / release (push) Has been cancelled
2026-03-31 19:18:13 -07:00
david cd119694ed fix: release workflow should not commit, only tag
Release / release (push) Has been cancelled
2026-03-31 19:18:00 -07:00
david 3e4e896677 trigger: manual workflow trigger for docker.notsosm.art
Release / release (push) Has been cancelled
2026-03-31 19:16:24 -07:00
david 5e2dbbc2be fix: update Docker build script to use docker.notsosm.art registry
Release / release (push) Has been cancelled
2026-03-31 19:16:15 -07:00
david da9c6ae70b fix: update workflow to use docker.notsosm.art registry 2026-03-31 19:16:01 -07:00
david 8cf3f2d401 trigger: manual workflow trigger
Release / release (push) Failing after 11m46s
2026-03-31 18:57:22 -07:00
david 69abec3b87 fix: update workflow to use correct Docker registries
Release / release (push) Has been cancelled
2026-03-31 18:56:11 -07:00
david 92c064c264 feat: add Gitea Actions release workflow
Release / release (push) Has been cancelled
2026-03-31 18:55:11 -07:00
david 59009f0bf7 feat: add view match link to admin matches page 2026-03-31 18:52:06 -07:00
david 381bf630c7 chore: bump version to v0.1.1 v0.1.1 2026-03-31 18:44:33 -07:00
david 1f4bdc2756 Merge branch 'feat/database-test-safety' of ssh://git.notsosm.art/david/euchre_camp 2026-03-31 18:44:08 -07:00
david f9d6321721 fix: use ELO change instead of win rate for best partner calculation 2026-03-31 18:39:27 -07:00
david b38b88f67d chore: regenerate docker-compose files with environment variables 2026-03-31 18:33:51 -07:00
david 237f128779 fix: remove hardcoded passwords from docker-compose generation 2026-03-31 18:32:32 -07:00
david 6989decf6f fix: load .env.development in test setup files 2026-03-31 18:30:19 -07:00
david 4e112c92ae fix: remove hardcoded database URLs and use environment variables 2026-03-31 18:28:17 -07:00
david a9fc5c312a fix: set DATABASE_URL for acceptance tests 2026-03-31 18:24:53 -07:00
david abc1963aea feat: add database test safety configuration 2026-03-31 18:23:47 -07:00
david 6cef0ac342 chore: update admin script to set site_admin role by default 2026-03-31 17:52:46 -07:00
david 74e6180a35 chore: update Docker repository from dhg.lol:5000 to euchre-camp/euchre-camp 2026-03-31 17:43:12 -07:00
david 8440962649 chore: release v0.1.0
- Update docker-compose files to use v0.1.0 image tag
- Add CHANGELOG.md with release notes
2026-03-31 17:33:58 -07:00
david 255b330695 fix: allowTies not saved when editing tournaments (closes #6)
Fix the allowTies checkbox not being saved when editing tournaments. Added comprehensive unit and E2E tests to verify the fix.

Co-authored-by: David Gwilliam <dhgwilliam@gmail.com>
Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
2026-04-01 00:20:25 +00:00
david 8c9a8b0d9f chore: update cleanup scripts to delete Home Match Player and Admin User patterns 2026-03-31 17:02:22 -07:00
david a82ec3c9fc chore: add production database cleanup scripts 2026-03-31 16:57:36 -07:00
david b5af4b2e34 docs: add development database and testing documentation 2026-03-31 16:53:42 -07:00
david 26c5158724 feat: set up development database and test cleanup utilities 2026-03-31 16:52:56 -07:00
david 48a96ce65f fix: improve availablePlayers query to handle undefined playerId 2026-03-31 16:44:48 -07:00
david 1f9f708f19 fix: handle empty playerId string in user edit API 2026-03-31 16:44:26 -07:00
david 33beed97c3 chore: prepare v0.1.0 release with correct image tags v0.1.0 2026-03-31 16:35:18 -07:00
david 779f9f4e7c chore: implement semantic versioning with docker image tagging 2026-03-31 16:34:30 -07:00