Skip to content

Centralize Buildscripts for Makefile #68

@Breee

Description

@Breee

Problem Statement:

I find myself coming back often to this repository whenever my CI/CD flow breaks, to see if the Makefile has changed

Generally an upjet generated provider only needs these variables:

export PROJECT_NAME ?= provider-keycloak
export PROJECT_REPO ?= github.com/crossplane-contrib/$(PROJECT_NAME)
export TERRAFORM_PROVIDER_SOURCE ?= mrparkers/keycloak
export TERRAFORM_PROVIDER_REPO ?= https://github.com/mrparkers/terraform-provider-keycloak
export TERRAFORM_PROVIDER_VERSION ?= 4.4.0
export TERRAFORM_PROVIDER_DOWNLOAD_NAME ?= terraform-provider-keycloak
export TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX ?= ${TERRAFORM_PROVIDER_REPO}/releases/download/v$(TERRAFORM_PROVIDER_VERSION)
export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-keycloak_v4.4.0
export TERRAFORM_DOCS_PATH ?= docs/resources

if i push to a custom registry one might as well need:

REGISTRY_ORGS
XPKG_REG_ORGS

the rest really could be just imported imo

Proposed solution:

  • Remove everything that should not be customized from the Makefile and move it into the build submodule or be packaged in some other way (Maybe as OCI) and could also be versioned maybe.
  • As a side effect, this would make it easier to renovate the dependencies, such as
GOLANGCILINT_VERSION
KIND_VERSION
UP_VERSION
UPTEST_VERSION

centralized and also help with pinning TERRAFORM_VERSION to 1.5.7 to enforce that version

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions