Adds a .goreleaser.yml file to use GoReleaser to automate the binary+image build/push process for a release
Adds a GitHub Action for automatically triggering a release and running GoReleaser on a tag push. It will also verify that image builds will pass on PRs as a check.
Updates the Makefile as necessary to install and run GoReleaser and provide the needed environment variables for releases. Also needed to update the ansible-operator binary build target so the image build works appropriately when using the make image-build command to build the ansible-operator image locally.
Removes the separate base.Dockerfile in favor of having a single Dockerfile that does everything via multi-stage builds (this makes it significantly easier to have a fully automated release process
Motivation for the change:
Enable automated releases for this repo that are triggered on a tag push
Open Question:
The plugin uses https://github.com/operator-framework/ansible-operator-plugins/blob/ab438547e82a4863bbc128d6d7bcebaf2e38e179/internal/version/version.go#L29 to determine the tag to use in the FROM directive when scaffolding the Dockerfile. Any thoughts on how we can adapt this such that we don't have to manually update this as a pre-release step? Typically this would be set as part of building the binary but the current intention is that this is used as a library by Operator-SDK so it will be whatever the string literal is. I'm having trouble with coming up with a way to resolve this without having to have a manual pre-release step of updating this.
Checklist
If the pull request includes user-facing changes, extra documentation is required:
currently e2e tests are expected to fail. We should probably get #4 merged prior to this PR so we can have passing e2e with new samples being properly generated.
Description of the change:
.goreleaser.yml
file to use GoReleaser to automate the binary+image build/push process for a releaseansible-operator
binary build target so the image build works appropriately when using themake image-build
command to build the ansible-operator image locally.Motivation for the change:
Open Question:
FROM
directive when scaffolding the Dockerfile. Any thoughts on how we can adapt this such that we don't have to manually update this as a pre-release step? Typically this would be set as part of building the binary but the current intention is that this is used as a library by Operator-SDK so it will be whatever the string literal is. I'm having trouble with coming up with a way to resolve this without having to have a manual pre-release step of updating this.Checklist
If the pull request includes user-facing changes, extra documentation is required:
changelog/fragments
(seechangelog/fragments/00-template.yaml
)website/content/en/docs