feat: add zip packaging target and woodpecker release pipeline
- Makefile gains `make package` target that builds and zips the provider
binary in the format expected by artifactapi's local terraform registry:
terraform-provider-artifactapi_{version}_{os}_{arch}.zip
- New .woodpecker/release.yml pipeline triggers on tag push, builds the
zip, and uploads it to artifactapi via the local files API
- Secrets: artifactapi_url and artifactapi_repo
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
.PHONY: build install test lint fmt clean tidy
|
||||
.PHONY: build install test lint fmt clean tidy package
|
||||
|
||||
BINARY := terraform-provider-artifactapi
|
||||
VERSION ?= 0.0.1
|
||||
OS_ARCH := linux_amd64
|
||||
INSTALL_DIR := ~/.terraform.d/plugins/git.unkin.net/unkin/artifactapi/$(VERSION)/$(OS_ARCH)
|
||||
INSTALL_VERSION := $(shell echo $(VERSION) | sed 's/^v//')
|
||||
INSTALL_DIR := ~/.terraform.d/plugins/git.unkin.net/unkin/artifactapi/$(INSTALL_VERSION)/$(OS_ARCH)
|
||||
ZIP := $(BINARY)_$(INSTALL_VERSION)_$(OS_ARCH).zip
|
||||
|
||||
GO_VERSION_REQUIRED := 1.23
|
||||
GO_VERSION_ACTUAL := $(shell go version | sed 's/go version go\([0-9]*\.[0-9]*\).*/\1/')
|
||||
@@ -29,8 +31,13 @@ lint: check-go
|
||||
fmt: check-go
|
||||
gofmt -w .
|
||||
|
||||
package: build
|
||||
cp $(BINARY) $(BINARY)_v$(INSTALL_VERSION)
|
||||
zip $(ZIP) $(BINARY)_v$(INSTALL_VERSION)
|
||||
rm $(BINARY)_v$(INSTALL_VERSION)
|
||||
|
||||
clean:
|
||||
rm -f $(BINARY)
|
||||
rm -f $(BINARY) *.zip
|
||||
|
||||
tidy:
|
||||
go mod tidy
|
||||
|
||||
Reference in New Issue
Block a user