jlewi / hydros

hydros automates hydrating and committing configuration
Apache License 2.0
4 stars 0 forks source link

GitHubReleaser resource #92

Closed jlewi closed 4 months ago

jlewi commented 4 months ago
  1. New GitHub Releaser Resource: A new GitHubReleaser resource has been defined in api/v1alpha1/releaser.go, indicating functionality for automated GitHub releases based on specific conditions such as new commits to a repository.

  2. Releaser Implementation: A new package pkg/github/releaser.go implements the logic for the GitHub Releaser functionality, including creating new GitHub releases and generating release notes automatically.

  3. Create a RepoConfig and GitHubReleaser object to release hydros

  4. GitHub App Configuration Removal: Changes in api/v1alpha1/repo.go remove the GitHubAppConfig from the RepoSpec, simplifying the configuration by focusing on repository URLs and glob patterns for file matching instead.

    • Now that we use Cobra the GitHubApp configuration should be provided in the hydros configuration not in the resource
  5. Improved Test Configuration: Modifications to the Makefile introduce the use of a GITHUB_ACTIONS environment variable during tests to presumably alter behavior when tests are run in GitHub Actions CI/CD environments.

  6. Expanded Project Description: The README.md file has been significantly updated to provide a more detailed introduction to Hydros, outlining its declarative approach to continuous delivery, and providing examples of how to use the tool. It also highlights the shift from the project being specifically tailored to Primer's workflow to a more generalized tool that could be beneficial to a broader audience.

  7. Detailed Documentation Updates: Several documentation files, including continuous_delivery.md and setup.md, have been updated or added to provide in-depth guidance on setting up and using Hydros for continuous delivery, emphasizing its declarative nature and flexibility.

  8. GitHub Releaser Test: A test case for the Releaser logic has been added to pkg/github/releaser_test.go, ensuring the functionality behaves as expected under specific conditions.

  9. Refined Repo Controller: The RepoController logic within pkg/gitops/repocontroller.go and its test in repocontroller_test.go have been adjusted to accommodate the changes introduced, particularly the removal of GitHub app-specific configuration in favor of a more generalized approach.