- Modified the Docker image tagging step to include a condition that enables the 'latest' tag only when the release is not a prerelease, improving version management.
- Modified the test case in `main_test.go` to use a directory path for the config argument, ensuring that the configuration initialization fails consistently during testing.
- Introduced a new `.env.example` file to provide a template for environment variables used by the Scratchbox server.
- Added a `docker-compose.example.yml` file to facilitate easy deployment of the Scratchbox service with Docker.
- Updated `docker-entrypoint.sh` to enforce environment variable settings for server configuration.
- Removed the generation of a config key file from the workflow, simplifying the configuration process.
- Adjusted the README.md to reflect changes in configuration management and usage instructions.
- Updated the image resolution step to clarify registry and image name handling.
- Replaced the manual Docker login process with the docker/login-action for enhanced security.
- Introduced Docker metadata extraction and updated the build and push steps to utilize the latest actions for better efficiency.
- Merged the test and release-binaries jobs into a single build-and-release-executables job for improved clarity.
- Updated Docker image build and push steps to streamline the process and remove unnecessary artifact handling.
- Enhanced permissions for Docker image publishing and adjusted environment variable usage for better security and efficiency.
- Added a validation job for release tags to ensure correct format.
- Introduced a testing job to run UI tests and race tests before release.
- Enhanced the release process to build and publish Docker images alongside binaries.
- Updated artifact handling to use validated tags for naming and uploading.
- Streamlined the workflow to ensure dependencies are built and tested prior to release.
- Added validation for accepted release tag formats in the release workflow.
- Implemented a step to generate release notes based on changes since the last tag.
- Updated README.md to include accepted tag formats for stable and prerelease versions.
- Adjusted archive naming convention for consistency in release artifacts.
- Updated the release workflow to consolidate build steps for different architectures.
- Changed the variant name in README.md for clarity on static binaries compatibility.
- Enhanced the packaging process to create release archives for each binary built.
- Removed the matrix strategy for builds, simplifying the CI configuration.
- Added a step to set up Node.js version 20 in the CI workflow.
- Included installation of UI dependencies and a build step for UI assets.
- Enhanced the CI process to ensure UI components are built before running tests.
- Introduced a Dockerfile for building the application with Go and Node.js dependencies.
- Added a docker-entrypoint.sh script to manage container execution.
- Created a .dockerignore file to exclude unnecessary files from the Docker context.
- Updated Makefile to include a new target for building the Docker image.
- Added CI workflows for testing, formatting, and releasing artifacts in Gitea.
Reuse the current IP-based limiter for read endpoints so public reads remain open but throttled, and add integration coverage plus docs updates for the expanded scope.
Co-authored-by: Cursor <cursoragent@cursor.com>