From 84540c9d52deecf647a556a566f3af84b50b6899 Mon Sep 17 00:00:00 2001 From: Chase Dickinson <91099693+ChaseHTX@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:07:32 -0500 Subject: [PATCH 1/3] Update release argument --- .github/workflows/release.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bcc810c..c298734 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: with: distribution: goreleaser version: "~> v2" - args: release --rm-dist + args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} @@ -45,8 +45,7 @@ jobs: SPACELIFT_API_KEY_ENDPOINT: https://spacelift.ktl.net SPACELIFT_API_KEY_ID: ${{ secrets.SPACELIFT_API_KEY_ID }} SPACELIFT_API_KEY_SECRET: ${{ secrets.SPACELIFT_API_KEY_SECRET }} - run: - spacectl provider create-version --type=sendgrid + run: spacectl provider create-version --type=sendgrid - name: Publish provider if: startsWith(github.ref, 'refs/tags/') @@ -60,4 +59,4 @@ jobs: VERSION_NUMBER=${{ github.ref_name }} VERSION_ID=$(jq -r --arg version "${VERSION_NUMBER#v}" '.versions[] | select(.number == $version) | .id' versions.json) echo "Publishing ID: $VERSION_ID" - spacectl provider publish-version --version=$VERSION_ID \ No newline at end of file + spacectl provider publish-version --version=$VERSION_ID From e9e778d479a764002177a16454dcb94f104d30be Mon Sep 17 00:00:00 2001 From: Chase Dickinson <91099693+ChaseHTX@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:09:40 -0500 Subject: [PATCH 2/3] Updating module version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 9b615da..c9fd410 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/octoenergy/terraform-provider-sendgrid -go 1.23.1 +go 1.23 require ( github.com/hashicorp/go-multierror v1.1.1 From 64261c0ee2772a675468026f950d962534045738 Mon Sep 17 00:00:00 2001 From: Hamish Forbes Date: Wed, 25 Sep 2024 15:36:04 +1200 Subject: [PATCH 3/3] Upgrade checkout and setup-go --- .circleci/config.yml | 78 +++++++++++++++++++++++++++++ .github/workflows/golangci-lint.yml | 4 +- .github/workflows/release.yml | 4 +- .github/workflows/test.yml | 4 +- go.mod | 2 + 5 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..5609e8a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,78 @@ +# This config was automatically generated from your source code +# Stacks detected: artifact:go-executable:,cicd:github-actions:.github/workflows,deps:go:. +version: 2.1 +jobs: + test-go: + # Install go modules and run tests + docker: + - image: cimg/go:1.23 + steps: + - checkout + - restore_cache: + key: go-mod-{{ checksum "go.sum" }} + - run: + name: Download Go modules + command: go mod download + - run: + name: Print go mod help instructions + command: "echo \"go mod download will fail if you have private repositories \nOne way to fix this for private go modules that are hosted in github:\n 1. Add a GITHUB_TOKEN and GITHUB_USER to an org context. Please refer to https://circleci.com/docs/contexts/ for more informaiton on how to use contexts.\n 2. Add a .circleci/config.yml to your repository or use this config.yml as a starting template\n 3. Configure the jobs to use the newly created context which includes GITHUB_TOKEN and GITHUB_USER \n 4. Before downloading the modules you will need to add a step to execute \\\"go env -w GOPRIVATE=github.com/\\\". \n\tThis allows go mod to install private repos under OrgNameHere.\n 5. You will also need to run \\\"git config --global url.\\\"https://$GITHUB_USER:$GITHUB_TOKEN@github.com//\\\".insteadOf \\\"https://github.com//\\\"\\\"\n 6. Finally include the \\\"go mod download\\\" it should be able to fetch your private libraries now. \nFor gitlab private go modules, follow the same instructions as above but include your GITLAB_TOKEN and GITLAB_USER.\nThen use gitlab.com instead of github.com in steps 4 and 5.\nSee https://go.dev/ref/mod#private-modules for more details.\"" + when: on_fail + - save_cache: + key: go-mod-{{ checksum "go.sum" }} + paths: + - /home/circleci/go/pkg/mod + - run: + name: Run tests + command: gotestsum --junitfile junit.xml + - store_test_results: + path: junit.xml + build-go-executables: + # Build go executables and store them as artifacts + docker: + - image: cimg/go:1.23 + steps: + - checkout + - restore_cache: + key: go-mod-{{ checksum "go.sum" }} + - run: + name: Download Go modules + command: go mod download + - run: + name: Print go mod help instructions + command: "echo \"go mod download will fail if you have private repositories \nOne way to fix this for private go modules that are hosted in github:\n 1. Add a GITHUB_TOKEN and GITHUB_USER to an org context. Please refer to https://circleci.com/docs/contexts/ for more informaiton on how to use contexts.\n 2. Add a .circleci/config.yml to your repository or use this config.yml as a starting template\n 3. Configure the jobs to use the newly created context which includes GITHUB_TOKEN and GITHUB_USER \n 4. Before downloading the modules you will need to add a step to execute \\\"go env -w GOPRIVATE=github.com/\\\". \n\tThis allows go mod to install private repos under OrgNameHere.\n 5. You will also need to run \\\"git config --global url.\\\"https://$GITHUB_USER:$GITHUB_TOKEN@github.com//\\\".insteadOf \\\"https://github.com//\\\"\\\"\n 6. Finally include the \\\"go mod download\\\" it should be able to fetch your private libraries now. \nFor gitlab private go modules, follow the same instructions as above but include your GITLAB_TOKEN and GITLAB_USER.\nThen use gitlab.com instead of github.com in steps 4 and 5.\nSee https://go.dev/ref/mod#private-modules for more details.\"" + when: on_fail + - save_cache: + key: go-mod-{{ checksum "go.sum" }} + paths: + - /home/circleci/go/pkg/mod + - run: + name: Create the ~/artifacts directory if it doesn't exist + command: mkdir -p ~/artifacts + - run: + name: Build executables + command: go build -o ~/artifacts ./... + - store_artifacts: + path: ~/artifacts + destination: executables + deploy: + # This is an example deploy job, not actually used by the workflow + docker: + - image: cimg/base:stable + steps: + # Replace this with steps to deploy to users + - run: + name: deploy + command: '#e.g. ./deploy.sh' + - run: + name: found github actions config + command: ':' +workflows: + build-and-test: + jobs: + - test-go + - build-go-executables: + requires: + - test-go + # - deploy: + # requires: + # - build-go-executables diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index d0a4a78..f770f55 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -11,9 +11,9 @@ jobs: name: lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: 1.23 cache: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c298734..bdaff77 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,11 +9,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Unshallow run: git fetch --prune --unshallow - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: 1.23.1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7bb73c..8405607 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,11 +12,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: 1.23 cache: true diff --git a/go.mod b/go.mod index c9fd410..f297f61 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,8 @@ module github.com/octoenergy/terraform-provider-sendgrid go 1.23 +toolchain go1.21.3 + require ( github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/terraform-plugin-docs v0.19.4