diff --git a/.goreleaser.yml b/.goreleaser.yml index 016269e2c..14fb65953 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -53,7 +53,4 @@ release: draft: false changelog: - sort: asc - filters: - exclude: - - "^test:" + disable: true diff --git a/GNUmakefile b/GNUmakefile index 3f747eafe..679081ce9 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,82 +1,21 @@ -TEST?=./... -VERSION=$(shell ./scripts/git-version.sh) -PKG_NAME=hcloud -WEBSITE_REPO=github.com/hashicorp/terraform-website -export CGO_ENABLED:=0 - -default: build +default: lint install generate build: - go install - -clean: - @rm -rf bin - -clean-release: - @rm -rf _output - -release: \ - clean \ - clean-release \ - _output/terraform-provider-hcloud_linux_amd64.zip \ - _output/terraform-provider-hcloud_darwin_amd64.zip \ - _output/terraform-provider-hcloud_freebsd_amd64.zip \ - _output/terraform-provider-hcloud_freebsd_386.zip \ - _output/terraform-provider-hcloud_freebsd_arm.zip \ - _output/terraform-provider-hcloud_linux_amd64.zip \ - _output/terraform-provider-hcloud_linux_386.zip \ - _output/terraform-provider-hcloud_linux_arm.zip \ - _output/terraform-provider-hcloud_openbsd_amd64.zip \ - _output/terraform-provider-hcloud_openbsd_386.zip \ - _output/terraform-provider-hcloud_solaris_amd64.zip \ - _output/terraform-provider-hcloud_windows_amd64.zip \ - _output/terraform-provider-hcloud_windows_386.zip - -bin/darwin_amd64/terraform-provider-hcloud: GOARGS = GOOS=darwin GOARCH=amd64 -bin/freebsd_amd64/terraform-provider-hcloud: GOARGS = GOOS=freebsd GOARCH=amd64 -bin/freebsd_386/terraform-provider-hcloud: GOARGS = GOOS=freebsd GOARCH=386 -bin/freebsd_arm/terraform-provider-hcloud: GOARGS = GOOS=freebsd GOARCH=arm -bin/linux_amd64/terraform-provider-hcloud: GOARGS = GOOS=linux GOARCH=amd64 -bin/linux_386/terraform-provider-hcloud: GOARGS = GOOS=linux GOARCH=386 -bin/linux_arm/terraform-provider-hcloud: GOARGS = GOOS=linux GOARCH=arm -bin/openbsd_amd64/terraform-provider-hcloud: GOARGS = GOOS=openbsd GOARCH=amd64 -bin/openbsd_386/terraform-provider-hcloud: GOARGS = GOOS=openbsd GOARCH=386 -bin/solaris_amd64/terraform-provider-hcloud: GOARGS = GOOS=solaris GOARCH=amd64 -bin/windows_amd64/terraform-provider-hcloud: GOARGS = GOOS=windows GOARCH=amd64 -bin/windows_386/terraform-provider-hcloud: GOARGS = GOOS=windows GOARCH=386 + go build -v ./... -bin/%/terraform-provider-hcloud: clean - $(GOARGS) go build -o $@ -a . - -_output/terraform-provider-hcloud_%.zip: NAME=terraform-provider-hcloud_$(VERSION)_$* -_output/terraform-provider-hcloud_%.zip: DEST=_output/$(NAME) -_output/terraform-provider-hcloud_%.zip: bin/%/terraform-provider-hcloud - mkdir -p $(DEST) - cp bin/$*/terraform-provider-hcloud README.md CHANGELOG.md LICENSE $(DEST) - cd $(DEST) && zip -r ../$(NAME).zip . +install: build + go install -v ./... lint: golangci-lint run --fix +generate: + go -C tools generate ./... + test: - go test $(TEST) $(TESTARGS) -v -timeout=30s -parallel=8 + go test -v -cover -timeout=30s -parallel=8 ./... testacc: - TF_ACC=1 go test $(TEST) $(TESTARGS) -v -timeout=30m -parallel=8 - -website: -ifeq (,$(wildcard $(GOPATH)/src/$(WEBSITE_REPO))) - echo "$(WEBSITE_REPO) not found in your GOPATH (necessary for layouts and assets), get-ting..." - git clone https://$(WEBSITE_REPO) $(GOPATH)/src/$(WEBSITE_REPO) -endif - @$(MAKE) -C $(GOPATH)/src/$(WEBSITE_REPO) website-provider PROVIDER_PATH=$(shell pwd) PROVIDER_NAME=$(PKG_NAME) - -website-test: -ifeq (,$(wildcard $(GOPATH)/src/$(WEBSITE_REPO))) - echo "$(WEBSITE_REPO) not found in your GOPATH (necessary for layouts and assets), get-ting..." - git clone https://$(WEBSITE_REPO) $(GOPATH)/src/$(WEBSITE_REPO) -endif - @$(MAKE) -C $(GOPATH)/src/$(WEBSITE_REPO) website-provider-test PROVIDER_PATH=$(shell pwd) PROVIDER_NAME=$(PKG_NAME) - + TF_ACC=1 go test -v -cover -timeout=30m -parallel=8 ./... -.PHONY: build test testacc release clean clean-release website website-test +.PHONY: build install lint generate test testacc diff --git a/scripts/git-version.sh b/scripts/git-version.sh deleted file mode 100755 index 78eedfbaa..000000000 --- a/scripts/git-version.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -set -eu - -# parse the current git commit hash -COMMIT="$(git rev-parse HEAD)" - -# check if the current commit has a matching tag -TAG="$(git describe --exact-match --abbrev=0 --tags "$COMMIT" 2> /dev/null || true)" -SUFFIX="" -DETAIL="" - -# use the matching tag as the version, if available -if [ -z "$TAG" ]; then - TAG=$(git describe --abbrev=0) - COMMITS=$(git --no-pager log "$TAG..HEAD" --oneline) - COMMIT_COUNT=$(echo -e "$COMMITS" | wc -l) - COMMIT_COUNT_PADDING=$(printf %03d "$COMMIT_COUNT") - SHORT_COMMIT_ID=$(git rev-parse --short HEAD) - - SUFFIX="-dev" - DETAIL=".${COMMIT_COUNT_PADDING}.${SHORT_COMMIT_ID}" -fi - -if [ -n "$(git diff --shortstat 2> /dev/null | tail -n1)" ]; then - SUFFIX="-dirty" -fi - -echo "${TAG}${SUFFIX}${DETAIL}"