From b3b543a87ba6f710b4d2f562df78c20df0b9f425 Mon Sep 17 00:00:00 2001 From: Anurag Sharma Date: Fri, 1 Aug 2025 12:33:53 +0530 Subject: [PATCH 1/3] add crt workflows --- .github/workflows/build.yml | 242 +++++++++++++++++++ .github/workflows/build_plugin_binaries.yml | 146 ----------- .github/workflows/release.yml | 63 ----- .release/ci.hcl | 88 +++++++ .release/packer-plugin-vagrant-artifacts.hcl | 26 ++ .release/release-metadata.hcl | 7 + .release/security-scan.hcl | 22 ++ 7 files changed, 385 insertions(+), 209 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/build_plugin_binaries.yml delete mode 100644 .github/workflows/release.yml create mode 100644 .release/ci.hcl create mode 100644 .release/packer-plugin-vagrant-artifacts.hcl create mode 100644 .release/release-metadata.hcl create mode 100644 .release/security-scan.hcl diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..caf3ec56 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,242 @@ +# +# This GitHub action builds vagrant binaries, linux packages, +# and Docker images from source, and uploads them to GitHub artifacts. +# Note that artifacts available via GitHub Artifacts are not codesigned or notarized. +# + +name: build + +on: + workflow_dispatch: + workflow_call: + push: + branches: + - main + - release/** + +env: + REPO_NAME: "packer-plugin-vagrant" + +permissions: + contents: read + +jobs: + get-go-version: + runs-on: ubuntu-latest + outputs: + go-version: ${{ steps.get-go-version.outputs.go-version }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: 'Determine Go version' + id: get-go-version + # We use .go-version as our source of truth for current Go + # version, because "goenv" can react to it automatically. + run: | + echo "Building with Go $(cat .go-version)" + echo "go-version=$(cat .go-version)" >> $GITHUB_OUTPUT + + set-product-version: + runs-on: ubuntu-latest + outputs: + product-version: ${{ steps.set-product-version.outputs.product-version }} + base-product-version: ${{ steps.set-product-version.outputs.base-product-version }} + product-date: ${{ steps.set-product-version.outputs.product-date }} + product-prerelease-version: ${{ steps.set-product-version.outputs.prerelease-product-version }} + set-ld-flags: ${{ steps.set-ld-flags.outputs.set-ld-flags }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: set product version + id: set-product-version + uses: hashicorp/actions-set-product-version@v1 + - name: set-ld-flags + id: set-ld-flags + run: | + T="github.com/hashicorp/packer-plugin-vagrant/version" + echo "set-ld-flags=-s -w -X ${T}.Version=${{ steps.set-product-version.outputs.base-product-version }} -X ${T}.VersionPrerelease=${{ steps.set-product-version.outputs.prerelease-product-version }}" >> $GITHUB_OUTPUT + - name: validate outputs + run: | + echo "Product Version: ${{ steps.set-product-version.outputs.product-version }}" + echo "Base Product Version: ${{ steps.set-product-version.outputs.base-product-version }}" + echo "Prerelease Version: ${{ steps.set-product-version.outputs.prerelease-product-version }}" + echo "ldflags: ${{ steps.set-ld-flags.outputs.set-ld-flags }}" + + generate-metadata-file: + needs: set-product-version + runs-on: ubuntu-latest + outputs: + filepath: ${{ steps.generate-metadata-file.outputs.filepath }} + steps: + - name: 'Checkout directory' + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Generate metadata file + id: generate-metadata-file + uses: hashicorp/actions-generate-metadata@main + with: + version: ${{ needs.set-product-version.outputs.product-version }} + product: ${{ env.REPO_NAME }} + + - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: metadata.json + path: ${{ steps.generate-metadata-file.outputs.filepath }} + + plugin-check: + needs: get-go-version + runs-on: ubuntu-latest + outputs: + api_version: ${{ steps.plugin_describe.outputs.api_version }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Unshallow + run: git fetch --prune --unshallow + - name: Set up Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: ${{ needs.get-go-version.outputs.go-version }} + - name: Describe plugin + id: plugin_describe + run: echo "api_version=$(go run . describe | jq -r '.api_version')" >> "$GITHUB_OUTPUT" + - name: Run test + run: go test ./... + - name: Make plugin-check + run: make plugin-check + + build-other: + needs: + - set-product-version + - get-go-version + - plugin-check + runs-on: ubuntu-latest + strategy: + matrix: + goos: [ freebsd, windows, netbsd, openbsd, solaris ] + goarch: [ "386", "amd64", "arm"] + go: [ "${{ needs.get-go-version.outputs.go-version }}" ] + exclude: + - goos: solaris + goarch: 386 + - goos: solaris + goarch: arm + - goos: windows + goarch: arm + fail-fast: true + + name: Go ${{ matrix.go }} ${{ matrix.goos }} ${{ matrix.goarch }} build + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Go Build + env: + PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }} + PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }} + LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}" + CGO_ENABLED: "0" + uses: hashicorp/actions-go-build@v1 + with: + bin_name: ${{ env.REPO_NAME }}_v${{ needs.set-product-version.outputs.product-version }}_${{ needs.plugin-check.outputs.api_version }}_${{ matrix.goos }}_${{ matrix.goarch }} + product_name: ${{ env.REPO_NAME }} + product_version: ${{ needs.set-product-version.outputs.product-version }} + go_version: ${{ matrix.go }} + os: ${{ matrix.goos }} + arch: ${{ matrix.goarch }} + reproducible: report + instructions: |- + cp LICENSE "$TARGET_DIR/LICENSE.txt" + go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -trimpath -buildvcs=false + + build-linux: + needs: + - set-product-version + - get-go-version + - plugin-check + runs-on: ubuntu-latest + strategy: + matrix: + goos: [ linux ] + goarch: [ "arm", "arm64", "386", "amd64" ] + go: [ "${{ needs.get-go-version.outputs.go-version }}" ] + fail-fast: true + + name: Go ${{ matrix.go }} ${{ matrix.goos }} ${{ matrix.goarch }} build + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Go Build + env: + PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }} + PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }} + LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}" + CGO_ENABLED: "0" + uses: hashicorp/actions-go-build@v1 + with: + bin_name: ${{ env.REPO_NAME }}_v${{ needs.set-product-version.outputs.product-version }}_${{ needs.plugin-check.outputs.api_version }}_${{ matrix.goos }}_${{ matrix.goarch }} + product_name: ${{ env.REPO_NAME }} + product_version: ${{ needs.set-product-version.outputs.product-version }} + go_version: ${{ matrix.go }} + os: ${{ matrix.goos }} + arch: ${{ matrix.goarch }} + reproducible: report + instructions: |- + cp LICENSE "$TARGET_DIR/LICENSE.txt" + go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -trimpath -buildvcs=false + + build-darwin: + needs: + - set-product-version + - get-go-version + - plugin-check + runs-on: macos-latest + strategy: + matrix: + goos: [ darwin ] + goarch: [ "amd64", "arm64" ] + go: [ "${{ needs.get-go-version.outputs.go-version }}" ] + fail-fast: true + name: Go ${{ matrix.go }} ${{ matrix.goos }} ${{ matrix.goarch }} build + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Go Build + env: + PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }} + PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }} + LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}" + CGO_ENABLED: "0" + uses: hashicorp/actions-go-build@v1 + with: + bin_name: ${{ env.REPO_NAME }}_v${{ needs.set-product-version.outputs.product-version }}_${{ needs.plugin-check.outputs.api_version }}_${{ matrix.goos }}_${{ matrix.goarch }} + product_name: ${{ env.REPO_NAME }} + product_version: ${{ needs.set-product-version.outputs.product-version }} + go_version: ${{ matrix.go }} + os: ${{ matrix.goos }} + arch: ${{ matrix.goarch }} + reproducible: report + instructions: |- + cp LICENSE "$TARGET_DIR/LICENSE.txt" + go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -trimpath -buildvcs=false + + upload-manifest-json: + needs: + - set-product-version + - plugin-check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: create-manifest-json + id: create-manifest-json + run: | + API_VERSION="${{ needs.plugin-check.outputs.api_version }}" + CLEAN_API_VERSION="${API_VERSION#x}" + cat > ${{ env.REPO_NAME }}_${{ needs.set-product-version.outputs.product-version }}_manifest.json << EOF + { + "version": "${{ needs.set-product-version.outputs.product-version }}", + "metadata": { + "protocol_version": "${CLEAN_API_VERSION}" + } + } + EOF + - name: Upload manifest json + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: packer-plugin-manifest.json + path: ${{ env.REPO_NAME }}_${{ needs.set-product-version.outputs.product-version }}_manifest.json diff --git a/.github/workflows/build_plugin_binaries.yml b/.github/workflows/build_plugin_binaries.yml deleted file mode 100644 index d4108cfc..00000000 --- a/.github/workflows/build_plugin_binaries.yml +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -name: hashicorp/packer-plugin-vagrant/build_plugin_binaries -permissions: - contents: read -on: - push: - branches: - - main -jobs: - build_darwin: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: darwin - GOARCH: amd64 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: darwin - GOARCH: arm64 - build_freebsd: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: freebsd - GOARCH: 386 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: freebsd - GOARCH: amd64 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: freebsd - GOARCH: arm - build_linux: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: linux - GOARCH: 386 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: linux - GOARCH: amd64 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: linux - GOARCH: arm - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: linux - GOARCH: arm64 - build_netbsd: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: netbsd - GOARCH: 386 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: netbsd - GOARCH: amd64 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: netbsd - GOARCH: arm - build_openbsd: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: openbsd - GOARCH: 386 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: openbsd - GOARCH: amd64 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: openbsd - GOARCH: arm - build_solaris: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: solaris - GOARCH: amd64 - build_windows: - defaults: - run: - working-directory: ~/go/src/github.com/hashicorp/packer-plugin-vagrant - runs-on: ubuntu-latest - container: - image: docker.mirror.hashicorp.services/cimg/go:1.21 - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: windows - GOARCH: 386 - - uses: "./.github/actions/build-and-persist-plugin-binary" - with: - GOOS: windows - GOARCH: amd64 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index ec35d84b..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -# This GitHub action can publish assets for release when a tag is created. -# Currently its setup to run on any tag that matches the pattern "v*" (ie. v0.1.0). -# -# This uses an action (hashicorp/ghaction-import-gpg) that assumes you set your -# private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `GPG_PASSPHRASE` -# secret. If you would rather own your own GPG handling, please fork this action -# or use an alternative one for key handling. -# -# You will need to pass the `--batch` flag to `gpg` in your signing step -# in `goreleaser` to indicate this is being used in a non-interactive mode. -# -name: release -on: - push: - tags: - - 'v*' -permissions: - contents: write - packages: read -jobs: - get-go-version: - runs-on: ubuntu-latest - outputs: - go-version: ${{ steps.get-go-version.outputs.go-version }} - steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - name: 'Determine Go version' - id: get-go-version - run: | - echo "Found Go $(cat .go-version)" - echo "go-version=$(cat .go-version)" >> $GITHUB_OUTPUT - goreleaser: - needs: - - get-go-version - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - name: Unshallow - run: git fetch --prune --unshallow - - name: Set up Go - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 - with: - go-version: ${{ needs.get-go-version.outputs.go-version }} - - name: Describe plugin - id: plugin_describe - run: echo "api_version=$(go run . describe | jq -r '.api_version')" >> "$GITHUB_OUTPUT" - - name: Install signore - uses: hashicorp/setup-signore-package@v1 - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0 - with: - version: latest - args: release --clean --timeout 120m - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - API_VERSION: ${{ steps.plugin_describe.outputs.api_version }} - SIGNORE_CLIENT_ID: ${{ secrets.SIGNORE_CLIENT_ID }} - SIGNORE_CLIENT_SECRET: ${{ secrets.SIGNORE_CLIENT_SECRET }} - SIGNORE_SIGNER: ${{ secrets.SIGNORE_SIGNER }} diff --git a/.release/ci.hcl b/.release/ci.hcl new file mode 100644 index 00000000..fce5ed9b --- /dev/null +++ b/.release/ci.hcl @@ -0,0 +1,88 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +schema = "1" + +project "packer-plugin-vagrant" { + team = "#proj-packer-releases" + slack { + notification_channel = "C032TD9KCMQ" + } + github { + organization = "hashicorp" + repository = "packer-plugin-vagrant" + release_branches = [ + "main", + "release/**", + ] + } +} + +event "merge" { + // "entrypoint" to use if build is not run automatically + // i.e. send "merge" complete signal to orchestrator to trigger build +} + +event "build" { + depends = ["merge"] + action "build" { + organization = "hashicorp" + repository = "packer-plugin-vagrant" + workflow = "build" + } +} + +event "prepare" { + depends = ["build"] + + action "prepare" { + organization = "hashicorp" + repository = "crt-workflows-common" + workflow = "prepare" + depends = ["build"] + } + + notification { + on = "fail" + } +} + +## These are promotion and post-publish events +## they should be added to the end of the file after the verify event stanza. + +event "trigger-staging" { +// This event is dispatched by the bob trigger-promotion command +// and is required - do not delete. +} + +event "promote-staging" { + depends = ["trigger-staging"] + action "promote-staging" { + organization = "hashicorp" + repository = "crt-workflows-common" + workflow = "promote-staging" + config = "release-metadata.hcl" + } + + notification { + on = "always" + } +} + +event "trigger-production" { +// This event is dispatched by the bob trigger-promotion command +// and is required - do not delete. +} + +event "promote-production" { + depends = ["trigger-production"] + action "promote-production" { + organization = "hashicorp" + repository = "crt-workflows-common" + workflow = "promote-production" + } + + notification { + on = "always" + } +} diff --git a/.release/packer-plugin-vagrant-artifacts.hcl b/.release/packer-plugin-vagrant-artifacts.hcl new file mode 100644 index 00000000..1691d94a --- /dev/null +++ b/.release/packer-plugin-vagrant-artifacts.hcl @@ -0,0 +1,26 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +schema = 1 +artifacts { + zip = [ + "packer-plugin-vagrant_${version}_darwin_amd64.zip", + "packer-plugin-vagrant_${version}_darwin_arm64.zip", + "packer-plugin-vagrant_${version}_freebsd_386.zip", + "packer-plugin-vagrant_${version}_freebsd_amd64.zip", + "packer-plugin-vagrant_${version}_freebsd_arm.zip", + "packer-plugin-vagrant_${version}_linux_386.zip", + "packer-plugin-vagrant_${version}_linux_amd64.zip", + "packer-plugin-vagrant_${version}_linux_arm.zip", + "packer-plugin-vagrant_${version}_linux_arm64.zip", + "packer-plugin-vagrant_${version}_netbsd_386.zip", + "packer-plugin-vagrant_${version}_netbsd_amd64.zip", + "packer-plugin-vagrant_${version}_netbsd_arm.zip", + "packer-plugin-vagrant_${version}_openbsd_386.zip", + "packer-plugin-vagrant_${version}_openbsd_amd64.zip", + "packer-plugin-vagrant_${version}_openbsd_arm.zip", + "packer-plugin-vagrant_${version}_solaris_amd64.zip", + "packer-plugin-vagrant_${version}_windows_386.zip", + "packer-plugin-vagrant_${version}_windows_amd64.zip", + ] +} diff --git a/.release/release-metadata.hcl b/.release/release-metadata.hcl new file mode 100644 index 00000000..164b4105 --- /dev/null +++ b/.release/release-metadata.hcl @@ -0,0 +1,7 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +url_source_repository = "https://github.com/hashicorp/packer-plugin-vagrant" +url_project_website = "https://developer.hashicorp.com/packer/integrations/hashicorp/vagrant" +url_license = "https://github.com/hashicorp/packer-plugin-vagrant/blob/main/LICENSE" +url_release_notes = "https://github.com/hashicorp/packer-plugin-vagrant/blob/main/CHANGELOG.md" diff --git a/.release/security-scan.hcl b/.release/security-scan.hcl new file mode 100644 index 00000000..84108fcd --- /dev/null +++ b/.release/security-scan.hcl @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +binary { + secrets { + all = true + } + go_modules = true + osv = true + oss_index = false + nvd = false + + # Triage items that are _safe_ to ignore here. Note that this list should be + # periodically cleaned up to remove items that are no longer found by the scanner. + triage { + suppress { + vulnerabilities = [ + "GO-2022-0635", // github.com/aws/aws-sdk-go@v1.55.5 TODO(dduzgun-security): remove when deps is resolved + ] + } + } +} From 94cdabc61558ea088ff91d09a9f33df58d133ffa Mon Sep 17 00:00:00 2001 From: Anurag Sharma Date: Fri, 1 Aug 2025 12:37:08 +0530 Subject: [PATCH 2/3] updated docs --- .web-docs/README.md | 8 ++++++++ README.md | 8 ++++++++ docs/README.md | 8 ++++++++ version/VERSION | 1 + 4 files changed, 25 insertions(+) create mode 100644 version/VERSION diff --git a/.web-docs/README.md b/.web-docs/README.md index e1c2a6a3..764b1807 100644 --- a/.web-docs/README.md +++ b/.web-docs/README.md @@ -21,6 +21,14 @@ Alternatively, you can use `packer plugins install` to manage installation of th packer plugins install github.com/hashicorp/vagrant ``` +**Note: Update to Packer Plugin Installation** + +With the new Packer release starting from version 1.14.0, the `packer init` command will automatically install official plugins from the [HashiCorp release site.](https://releases.hashicorp.com/) + +Going forward, to use newer versions of official Packer plugins, you'll need to upgrade to Packer version 1.14.0 or later. If you're using an older version, you can still install plugins, but as a workaround, you'll need to [manually install them using the CLI.](https://developer.hashicorp.com/packer/docs/plugins/install#manually-install-plugins-using-the-cli) + +There is no change to the syntax or commands for installing plugins. + ### Components #### Builders diff --git a/README.md b/README.md index ad9721ef..98ef312f 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,14 @@ packer { } ``` +**Note: Update to Packer Plugin Installation** + +With the new Packer release starting from version 1.14.0, the `packer init` command will automatically install official plugins from the [HashiCorp release site.](https://releases.hashicorp.com/) + +Going forward, to use newer versions of official Packer plugins, you'll need to upgrade to Packer version 1.14.0 or later. If you're using an older version, you can still install plugins, but as a workaround, you'll need to [manually install them using the CLI.](https://developer.hashicorp.com/packer/docs/plugins/install#manually-install-plugins-using-the-cli) + +There is no change to the syntax or commands for installing plugins. + #### Manual installation You can find pre-built binary releases of the plugin [here](https://github.com/hashicorp/packer-plugin-vagrant/releases). diff --git a/docs/README.md b/docs/README.md index e1c2a6a3..764b1807 100644 --- a/docs/README.md +++ b/docs/README.md @@ -21,6 +21,14 @@ Alternatively, you can use `packer plugins install` to manage installation of th packer plugins install github.com/hashicorp/vagrant ``` +**Note: Update to Packer Plugin Installation** + +With the new Packer release starting from version 1.14.0, the `packer init` command will automatically install official plugins from the [HashiCorp release site.](https://releases.hashicorp.com/) + +Going forward, to use newer versions of official Packer plugins, you'll need to upgrade to Packer version 1.14.0 or later. If you're using an older version, you can still install plugins, but as a workaround, you'll need to [manually install them using the CLI.](https://developer.hashicorp.com/packer/docs/plugins/install#manually-install-plugins-using-the-cli) + +There is no change to the syntax or commands for installing plugins. + ### Components #### Builders diff --git a/version/VERSION b/version/VERSION new file mode 100644 index 00000000..25b6557d --- /dev/null +++ b/version/VERSION @@ -0,0 +1 @@ +1.1.6-dev From c167f6d21395460ec93cbea496a1d4821cebb82f Mon Sep 17 00:00:00 2001 From: Anurag Sharma Date: Fri, 1 Aug 2025 14:29:19 +0530 Subject: [PATCH 3/3] delete goreleaser release workflow --- .goreleaser.yml | 104 ------------------------------------------------ 1 file changed, 104 deletions(-) delete mode 100644 .goreleaser.yml diff --git a/.goreleaser.yml b/.goreleaser.yml deleted file mode 100644 index 637013fa..00000000 --- a/.goreleaser.yml +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -# This is an example goreleaser.yaml file with some defaults. -# Make sure to check the documentation at http://goreleaser.com -version: 2 -env: - - CGO_ENABLED=0 -before: - hooks: - # We strongly recommend running tests to catch any regression before release. - # Even though, this an optional step. - - go test ./... - # Check plugin compatibility with required version of the Packer SDK - - make plugin-check - # Copy LICENSE file for inclusion in zip archive - - cp LICENSE LICENSE.txt -builds: - # A separated build to run the packer-plugins-check only once for a linux_amd64 binary - - - id: plugin-check - mod_timestamp: '{{ .CommitTimestamp }}' - flags: - - -trimpath #removes all file system paths from the compiled executable - ldflags: - - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= ' - goos: - - linux - goarch: - - amd64 - binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' - - - id: linux-builds - mod_timestamp: '{{ .CommitTimestamp }}' - flags: - - -trimpath #removes all file system paths from the compiled executable - ldflags: - - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= ' - goos: - - linux - goarch: - - amd64 - - '386' - - arm - - arm64 - ignore: - - goos: linux - goarch: amd64 - binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' - - - id: darwin-builds - mod_timestamp: '{{ .CommitTimestamp }}' - flags: - - -trimpath #removes all file system paths from the compiled executable - ldflags: - - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= ' - goos: - - darwin - goarch: - - amd64 - - arm64 - binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' - - - id: other-builds - mod_timestamp: '{{ .CommitTimestamp }}' - flags: - - -trimpath #removes all file system paths from the compiled executable - ldflags: - - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= ' - goos: - - netbsd - - openbsd - - freebsd - - windows - - solaris - goarch: - - amd64 - - '386' - - arm - ignore: - - goos: windows - goarch: arm - - goos: solaris - goarch: arm - - goos: solaris - goarch: '386' - binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' -archives: -- format: zip - files: - - "LICENSE.txt" - - name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' -checksum: - name_template: '{{ .ProjectName }}_v{{ .Version }}_SHA256SUMS' - algorithm: sha256 -signs: - - cmd: signore - args: ["sign", "--dearmor", "--file", "${artifact}", "--out", "${signature}"] - artifacts: checksum - signature: ${artifact}.sig - -changelog: - use: github-native