Create a new documentation file to provide guidance for using
reusable GitLab CI templates in Unbound Software projects.
Detail the repository overview, architecture, release pipeline
workflow, key environment variables, and common usage patterns.
Also, update `.gitignore` to exclude the CLAUDE directory
from version control.
This commit removes unused commented-out tags in the
Defaults.gitlab-ci.yml file to clean up the code
and improve readability, ensuring clarity in the CI
configuration.
Removes commented out tags from the GitLab CI configuration to
clean up the file and reduce confusion. The tags are not currently
used and their removal helps streamline the CI setup.
Enhance the GitLab CI configuration by adding tags for codebuild. This
includes a unique identifier that incorporates the project ID, pipeline
IID, and job name to improve build tracking and organization.
Check for the existence of the version file before reading it.
If the file is missing, print a message and exit gracefully.
This change improves the robustness of the CI pipeline by preventing
errors when the version file is not present.
Includes a new condition in the CI pipeline to handle situations where
the commit is a tag. This improves the robustness of the pipeline
by ensuring that specific actions are only executed for tagged
commits, thereby optimizing the release process.
Updates the CI script to improve version retrieval and checking logic.
Replaces direct calls to the VERSION file with reading from a
`.version` JSON file, ensuring proper version management. Handles
the creation and updating of the CHANGELOG and .version files to
enhance the release process. Adjusts conditions for executing
release tasks based on current tags and branches to prevent
unnecessary executions.
Refactor the changelog generation command in the CI configuration.
Use consistent quotation marks in the command to enhance readability
and avoid potential issues with shell parsing.
Correct the quote style in the changelog generation script for
consistency and adherence to shell syntax. The change improves
readability and reduces potential parsing issues.
Update the command in the GitLab CI configuration to properly escape
single quotes in the `sed` command for generating the CHANGELOG.md. This
ensures that the command executes correctly in the CI environment,
preventing potential syntax errors during the build process.
Updates the changelog generation command to remove trailing whitespace
before writing to CHANGELOG.md. This ensures a cleaner output and
maintains consistency in formatting.
Updates the pre-commit Docker image to version 0.2.8 to leverage
improvements and fixes in the latest release. This enhances the
quality of the pre-commit hooks used during CI/CD processes.
Change the Docker image for multiple CI jobs from alpine:latest
to amd64/alpine:3.22.0 to ensure compatibility and improve
stability of the build environment. This upgrade addresses
potential vulnerabilities and ensures the use of a more
secure and reliable base image.
Adds a default retry configuration for CI jobs to handle
various failure scenarios. This improves the robustness of
the pipeline by allowing automatic retries for jobs that
fail due to temporary issues.
Update the git-cliff Docker image version to 2.7.0 for enhanced
features and fixes. This change applies to both the release
preparation and changelog stages in the CI configuration.
Modify the command to describe the latest tag to gracefully handle
the scenario where no tags are available. This avoids potential
errors in the script execution when the git repository is
tagless, ensuring the CI pipeline runs smoothly under all
circumstances.
Update the version checking logic in the CI pipeline to ensure that
the script correctly identifies the latest tag. The change checks
if the latest tag is available before comparing it with the
VERSION file, improving reliability in determining if a version
bump is necessary.
This commit updates the Docker images for the pre-commit hooks in both the
Node and Go configuration files to their latest versions. This change ensures
that we are using the most recent fixes and improvements provided by the
pre-commit maintainers, enhancing performance and reliability.
Add GOPRIVATE environment variable for private repos and
create a .netrc file in the before_script to enable
authentication with GitLab. These changes ensure that
private repositories can be accessed during the CI
pipeline, improving the build process.
This change introduces GitLab CI configurations for running
pre-commit hooks on both Node and Go projects. It sets up the
pre-commit environment, ensures necessary dependencies are
installed, and runs pre-commit checks on all files to maintain
code quality and consistency. This automation helps to catch
issues early in the development process.