Commit Graph
101 Commits
Author SHA1 Message Date
ThePhaselessandClaude c45a464462 Add Building Feature (#276)
* feat: Build Docker images for PRs with branch name labels

- Remove condition preventing PR builds
- Add branch name extraction and sanitization
- Add branch labels to Docker images (org.opencontainers.image.branch and branch)
- Enable pushing of PR Docker images
- Sanitize branch names for Docker tags (replace / with -)

This allows PR images to be built and tagged with their branch names,
making it easier to test specific PR builds.

* feat: Add path filters to Docker workflow

Only build Docker images when relevant files change:
- Source code (src/**, main.py, tests/**)
- Docker configuration (Dockerfile, compose.yaml)
- Dependencies (pyproject.toml, uv.lock)
- Workflow file itself

This prevents unnecessary builds when only documentation or
other non-functional files are changed.

* feat: Add automatic cleanup of PR Docker images

Create a new workflow that automatically deletes Docker images
when a PR is closed or merged. This prevents accumulation of
old PR images in the container registry.

Features:
- Triggers on PR close/merge events
- Deletes images tagged with PR number and SHA
- Handles both architecture variants (amd64, arm64)
- Supports both organization and user repositories
- Provides detailed logging of cleanup operations

* refactor: Remove redundant branch label preparation

Remove duplicate branch name preparation step in merge-and-push job.
Branch labels are already added during the build step, so no need
to add them again when creating the manifest.

* refactor: Remove redundant label configurations

Remove custom label configurations from docker-publish workflow.
The docker/metadata-action already sets standard OCI labels by
default, so explicit label configuration is unnecessary.

Also removed unused BRANCH_TAG variable preparation.

* refactor: Use PR number for Docker image tags instead of SHA

Changed Docker image tagging strategy for pull requests:
- Use pr-{number}-{arch} for individual platform builds
- Use pr-{number} for final manifest
- Non-PR builds still use SHA-based tags

Benefits:
- Simpler, more readable tags for PRs
- Easier to identify which PR an image belongs to
- Cleanup script simplified to match only PR number tags

Updated cleanup workflow to match new tag pattern.

* docs: Add PR Docker image tags to README

Document the pr-{number} tag pattern used for pull request images.
These images are automatically built for PRs and cleaned up when
the PR is closed.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-20 01:25:00 +01:00
ThePhaseless f1696fe0fd Update claude-code-review.yml 2025-11-15 04:47:34 +01:00
ThePhaseless 12e5a1646b Enable full output for Claude code review action 2025-11-15 04:37:59 +01:00
renovate[bot] 0977a0daf9 chore(deps): update actions/checkout action to v5 (#260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 22:15:25 +02:00
ThePhaseless 560da0daf0 Add Claude Code GitHub Workflow (#259)
* "Claude PR Assistant workflow"

* "Claude Code Review workflow"
2025-10-15 08:20:21 +02:00
ThePhaseless d29666151d dont build on pull request 2025-09-11 18:25:04 +02:00
ThePhaseless f98e823991 Migrate to camoufox (#235)
* use camoufox

* build custom branches

* organize compose

* ignore missing stubs

* add init method

* create ADDON PATH

* check if solving is required

* type checking and remove logger

* uv sync

* add timeout

* add descriptiuon

* cancel previous runs

* wildcard minor

* fix proxy

* syntax fix

* [skip ci] fix loop warning

* fix proxy format

* copy over docker ignore

* remove testing line

* comment out port expose

* remove idope

* use strict typechecking

* refactor

* adjust compose

* run init only before test

* try test without init

* add curl

* handle page response

* remove turnsile test

* fix dockerignore symlink

* use newer debian

* bump pytest

* add docker in docker in devcontaienr

* remove unused values

* handle timeouts

* fix edgecase

* use new envs for proxy

* remove init command

* remove testing line

* remove setuptools

* fix linters

* reimport

* readd setuptools

* better float handling
2025-09-05 23:08:35 +02:00
ThePhaseless efcd8f0798 Merge pull request #225 from ThePhaseless/renovate/actions-checkout-5.x
chore(deps): update actions/checkout action to v5
2025-08-17 02:39:46 +02:00
ThePhaseless b29e4c826e cancel previous runs 2025-08-16 22:50:10 +00:00
renovate[bot] 1e443c2dbb chore(deps): update actions/checkout action to v5 2025-08-11 13:34:58 +00:00
ThePhaseless b1704589ae [skip ci] Clarify questions 2025-08-06 23:56:41 +02:00
ThePhaseless 6fa5fceff1 [skip ci] Clarify some questions 2025-08-06 23:54:47 +02:00
ThePhaseless 38b3407b15 fix versioning 2025-04-12 21:53:11 +00:00
ThePhaseless 1bdd65499d [skip ci] add logs fields 2025-04-08 13:39:35 +02:00
ThePhaseless ae12dc05e4 [skip ci] use text area 2025-03-27 17:18:56 +01:00
ThePhaseless d5a1bed3c1 [skip ci] better description 2025-03-27 17:17:30 +01:00
ThePhaseless 3830149ba0 [skip ci] fix spacing 2025-03-27 17:15:52 +01:00
ThePhaseless 7a9a64a4b2 [skip ci] Add compose config input 2025-03-27 17:15:24 +01:00
ThePhaseless 2292ce7479 Update bug_report.yml 2025-03-16 19:59:04 +01:00
ThePhaseless 8ea5d32e03 [skip ci] Create feature_request.yaml 2025-03-16 19:57:44 +01:00
ThePhaseless 061f0d44de fix latest tagging 2025-02-28 19:28:05 +01:00
ThePhaseless b7914268bc readd test 2025-02-28 19:16:47 +01:00
ThePhaseless 2e8ed3fa9b remove apt caching 2025-02-28 19:16:09 +01:00
ThePhaseless 6f6941e423 lowercase registry 2025-02-28 19:01:06 +01:00
ThePhaseless 25ae01ba71 remove artifact upload 2025-02-28 18:46:48 +01:00
ThePhaseless a065b4b7ae remove invalid argument 2025-02-28 18:43:55 +01:00
ThePhaseless 508568ded7 login before push 2025-02-28 18:36:00 +01:00
ThePhaseless 72f54fc0a9 push and then merge 2025-02-28 18:33:30 +01:00
ThePhaseless 1499cfa3df push before merging 2025-02-28 18:16:39 +01:00
ThePhaseless cf46f481e1 fix bash 2025-02-28 18:04:23 +01:00
ThePhaseless c90b0ab91e echo args 2025-02-28 17:53:04 +01:00
ThePhaseless f5e75b451c push all tags into one 2025-02-28 17:43:57 +01:00
ThePhaseless 0fbae3f9dd bump buildkit cache 2025-02-28 17:14:40 +01:00
ThePhaseless 70f99e40fc tweak labels 2025-02-28 17:09:23 +01:00
ThePhaseless 6a56098a33 add platform to apt cache name 2025-02-28 16:28:32 +01:00
ThePhaseless 7dd1dd633f upload apt and uv cache 2025-02-28 16:24:20 +01:00
ThePhaseless e825e588a8 add qemu back 2025-02-28 16:17:54 +01:00
ThePhaseless ad88b7b505 comment out test 2025-02-28 16:11:59 +01:00
ThePhaseless 78deb9ed34 tweaks to tags 2025-02-28 16:11:10 +01:00
ThePhaseless 817610d216 add qemu 2025-02-27 20:20:55 +00:00
ThePhaseless 42303d5582 another fix 2025-02-27 19:41:54 +00:00
ThePhaseless 35c6189f6d try fixing new build 2025-02-27 19:10:47 +00:00
ThePhaseless d0dea96f63 try new build action 2025-02-26 11:03:46 +01:00
ThePhaseless 61ef009944 [skip ci] sync tests and build x64 cache 2025-02-20 21:47:15 +00:00
ThePhaseless 978efa7a5b build arm first 2025-02-20 21:34:14 +00:00
ThePhaseless a9edd671a2 do not publish test container 2025-02-20 21:00:52 +00:00
ThePhaseless df161e6d2e gha cache fix 2025-02-20 20:50:11 +00:00
ThePhaseless 9bd13e19a0 [skip ci] Add Docker as host 2025-02-06 18:39:53 +00:00
ThePhaseless ecd9e0aee2 [skip ci] remove checkbox index 2025-02-06 18:36:47 +00:00
ThePhaseless 78137997e1 [skip ci] use new issue type 2025-02-06 18:36:00 +00:00