Maintenance (#96)

* bumps `actions/checkout` to `v4`

* bumps base Packer versions to `1.10`

* docs update

* package-lock maintenance

* updates examples

* updates deps

* updates example Packer file with new key `bucket_labels` instead of `labels`

* adds external plugin for testing

* updates copywrite config

* install `ncc` globally instead of via `devDeps`
This commit is contained in:
Kerim Satirli
2024-05-04 09:46:49 +02:00
committed by GitHub
parent d38faf1295
commit 60dc5f39e2
17 changed files with 4851 additions and 7097 deletions

View File

@@ -4,7 +4,12 @@
schema_version = 1
project {
header_ignore = [
"dist/index.js"
license = "Apache-2.0"
copyright_holder = "HashiCorp, Inc."
copyright_year = 2022
header_ignore = [
"dist/*",
"node_modules/",
]
}

15
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Dependabot only updates HashiCorp GHAs, external GHAs are managed by internal tooling (tsccr)
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
allow:
- dependency-name: "hashicorp/*"

View File

@@ -1,10 +1,12 @@
---
name: "GitHub Action: Self-Test"
on:
push:
env:
PRODUCT_VERSION: "1.8.6"
PRODUCT_VERSION: "1.10.0"
jobs:
setup-packer:
@@ -12,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Setup `packer` (using local GitHub Action)
uses: "./"

25
.github/workflows/compliance.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
---
name: "HashiCorp: Compliance"
on:
push:
permissions:
contents: read
jobs:
copywrite:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0
- uses: hashicorp/setup-copywrite@867a1a2a064a0626db322392806428f7dc59cb3e # v1.1.2
- run: copywrite headers --plan
- run: copywrite license --plan

View File

@@ -1,4 +1,5 @@
---
name: "Code Quality: Super-Linter"
on:
@@ -10,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0

View File

@@ -1,4 +1,5 @@
---
name: "Code Quality: TypeScript"
on:
@@ -9,6 +10,9 @@ jobs:
name: Node.js
runs-on: ubuntu-latest
env:
PACKAGES: "@vercel/ncc prettier"
strategy:
# see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast
fail-fast: false
@@ -23,13 +27,19 @@ jobs:
fetch-depth: 1
- name: Set up Node.js
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install NPM Packages
run: npm ci
- name: Install global NPM packages
run: npm install --global ${PACKAGES}
- name: Install Action-specific NPM Packages
run: npm install-clean
- name: Build TypeScript code
run: npm run build
run: |
npm run-script fmt \
&& \
npm run-script build

View File

@@ -1,15 +0,0 @@
# `0.3.0` (UNRELEASED, 2022-08)
* Update Dockerfile to point to packer version `1.8.2`
* Change `target` default to `.` [#17](https://github.com/hashicorp/packer-github-actions/pull/17)
* Mark `target` as not required [#17](https://github.com/hashicorp/packer-github-actions/pull/17)
* Add support for working_directory [#11](https://github.com/operatehappy/packer-github-actions/pull/11)
## `0.2.0` (2020-03-25)
* Adds Packer action (#1) ([d80192d](https://github.com/ksatirli/packer-github-actions/commit/d80192d)), closes [#1](https://github.com/ksatirli/packer-github-actions/issues/1)
* adds GitHub Actions for `code-quality` and `repository-management` ([2a0399e](https://github.com/ksatirli/packer-github-actions/commit/2a0399e))
## `0.1.0` (2020-03-24)
* adds base files ([6f7428a](https://github.com/ksatirli/packer-github-actions/commit/6f7428a))

View File

@@ -1,4 +1,4 @@
Copyright (c) 2020 HashiCorp, Inc.
Copyright (c) 2022 HashiCorp, Inc.
Apache License
Version 2.0, January 2004

View File

@@ -7,13 +7,13 @@ The `hashicorp/setup-packer` Action sets up the [Packer](https://www.packer.io)
## Table of Contents
<!-- TOC -->
* [GitHub Action: `setup-packer`](#github-action--setup-packer)
* [GitHub Action: `setup-packer`](#github-action-setup-packer)
* [Table of Contents](#table-of-contents)
* [Requirements](#requirements)
* [Usage](#usage)
* [Inputs](#inputs)
* [Outputs](#outputs)
* [Integrating with HCP Packer](#Integrating-with-HCP-Packer)
* [Integrating with HCP Packer](#integrating-with-hcp-packer)
* [Author Information](#author-information)
* [License](#license)
<!-- TOC -->
@@ -28,7 +28,7 @@ Other [environment variables](https://developer.hashicorp.com/packer/docs/comman
## Usage
1.) Create a GitHub Actions Workflow file (e.g.: `.github/workflows/packer.yml`):
Create a GitHub Actions Workflow file (e.g.: `.github/workflows/packer.yml`):
```yaml
name: packer
@@ -37,7 +37,7 @@ on:
push:
env:
PRODUCT_VERSION: "1.8.6" # or: "latest"
PRODUCT_VERSION: "1.10.0" # or: "latest"
jobs:
packer:
@@ -45,7 +45,7 @@ jobs:
name: Run Packer
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup `packer`
uses: hashicorp/setup-packer@main
@@ -66,8 +66,8 @@ In the above example, the following definitions have been set.
- The event trigger has been set to `push`. For a complete list, see [Events that trigger workflows](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows).
- The origin of this GitHub Action has been set as `hashicorp/setup-packer@main`. For newer versions, see the [Releases](https://github.com/hashicorp/setup-packer/releases).
- The version of `packer` to set up has been set as `1.8.6`. For a complete list, see [releases.hashicorp.com](https://releases.hashicorp.com/packer/).
- The Packer manifest to interact with has been set as `./image.pkr.hcl`
- The version of `packer` to set up has been set as `1.10.0`. For a complete list, see [releases.hashicorp.com](https://releases.hashicorp.com/packer/).
- The Packer manifest to interact with has been set as `./image.pkr.hcl`.
These definitions may require updating to suit your deployment, such as specifying [self-hosted](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-self-hosted-runners) runners.
@@ -79,6 +79,9 @@ This section contains a list of all inputs that may be set for this Action.
- `version` - The version of `packer` to install. Defaults to `latest` if unset.
> [!NOTE]
> To retrieve the `latest` version, this GitHub Action polls the HashiCorp [Releases API](https://api.releases.hashicorp.com/v1/releases/packer) and finds the latest released version of Packer that isn't marked as a pre-release (`is_prerelease`).
## Outputs
This section contains a list of all outputs that can be consumed from this Action.
@@ -86,11 +89,14 @@ This section contains a list of all outputs that can be consumed from this Actio
- `version` - The version of `packer` that was installed.
## Integrating with HCP Packer
To integrate with HCP Packer, add your HCP Client ID and HCP Client secret as environment variables to the Packer build call.
We add an `HCP_PACKER_BUILD_FINGERPRINT` in this example that is based on the workflow run ID, that way it is always unique
We recommend storing these in [GitHub Actions Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) (as opposed to plain-text). See the [HCP Packer Getting Started tutorial](https://developer.hashicorp.com/packer/tutorials/hcp-get-started/hcp-push-image-metadata)
We recommend storing these in [GitHub Actions Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) (as opposed to plain-text).
For more information on using HCP Packer, see the [Getting Started tutorial](https://developer.hashicorp.com/packer/tutorials/hcp-get-started/hcp-push-image-metadata).
```yaml
name: hcp-packer
@@ -104,15 +110,18 @@ jobs:
name: Run Packer
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup `packer`
uses: hashicorp/setup-packer@main
id: setup
with:
version: "latest"
- name: Run `packer init`
id: init
run: "packer init ./image.pkr.hcl"
- name: Run `packer validate`
id: validate
run: "packer validate ./image.pkr.hcl"

11617
dist/index.js vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oDAAsC;AACtC,mEAAqD;AAErD,SAAe,IAAI;;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;YACnD,OAAO;SACR;QACD,IAAI;YACF,MAAM,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/B;SACF;IACH,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oDAAsC;AACtC,mEAAqD;AAExC,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,SAAe,IAAI;;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;YACnD,OAAO;SACR;QACD,IAAI;YACF,MAAM,EAAE,CAAC,mBAAmB,CAAC,eAAO,EAAE,OAAO,CAAC,CAAC;SAChD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/B;SACF;IACH,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}

View File

@@ -10,21 +10,24 @@ jobs:
name: Run Packer
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup `packer`
uses: hashicorp/setup-packer@main
id: setup
with:
version: "latest"
- name: Run `packer init`
id: init
run: "packer init ./image.pkr.hcl"
- name: Run `packer validate`
id: validate
run: "packer validate ./image.pkr.hcl"
- name: Build Artifact
run: packer build -color=false -on-error=abort image.pkr.hcl
run: "packer build -color=false -on-error=abort image.pkr.hcl"
env:
HCP_CLIENT_ID: ${{ secrets.HCP_CLIENT_ID }}
HCP_CLIENT_SECRET: ${{ secrets.HCP_CLIENT_SECRET }}

View File

@@ -12,13 +12,13 @@ jobs:
name: Run Packer
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup `packer`
uses: hashicorp/setup-packer@main
id: setup
with:
version: "1.8.6" # or latest
version: "1.10.0" # or latest
- name: Run `packer init`
id: init

152
package-lock.json generated
View File

@@ -1,25 +1,21 @@
{
"name": "setup-packer",
"version": "3.0.0",
"version": "3.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "setup-packer",
"version": "3.0.0",
"version": "3.1.0",
"license": "Apache-2.0",
"dependencies": {
"@actions/core": "1.10.1",
"@actions/io": "1.1.3",
"@actions/tool-cache": "2.0.1",
"@hashicorp/github-actions-core": "github:hashicorp/github-actions-core#v0.4.1",
"@vercel/ncc": "0.36.1"
"@actions/core": "^1.10.1",
"@hashicorp/github-actions-core": "github:hashicorp/github-actions-core#1.0.0"
},
"devDependencies": {
"@types/node": "^20.11.10",
"@types/semver": "7.5.4",
"prettier": "2.8.4",
"typescript": "4.9.5"
"@types/node": "^20.12.8",
"@types/semver": "^7.5.8",
"typescript": "^5.4.5"
}
},
"node_modules/@actions/core": {
@@ -40,9 +36,9 @@
}
},
"node_modules/@actions/http-client": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz",
"integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz",
"integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==",
"dependencies": {
"tunnel": "^0.0.6",
"undici": "^5.25.4"
@@ -66,6 +62,14 @@
"uuid": "^3.3.2"
}
},
"node_modules/@actions/tool-cache/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/@actions/tool-cache/node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
@@ -76,17 +80,16 @@
}
},
"node_modules/@fastify/busboy": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz",
"integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
"engines": {
"node": ">=14"
}
},
"node_modules/@hashicorp/github-actions-core": {
"version": "0.4.1",
"resolved": "git+ssh://git@github.com/hashicorp/github-actions-core.git#0f2bccbcefcf1876bb86a5f9efeb10f59dc4fb99",
"license": "Apache-2.0",
"version": "0.4.2",
"resolved": "git+ssh://git@github.com/hashicorp/github-actions-core.git#d6dafcd904569d57b4a2a88b7efc9a72a42b516d",
"dependencies": {
"@actions/core": "^1.10.1",
"@actions/io": "^1.1.3",
@@ -95,20 +98,6 @@
"semver": "^7.5.3"
}
},
"node_modules/@hashicorp/github-actions-core/node_modules/semver": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@hashicorp/js-releases": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/@hashicorp/js-releases/-/js-releases-1.7.2.tgz",
@@ -121,43 +110,21 @@
"yauzl": "^2.10.0"
}
},
"node_modules/@hashicorp/js-releases/node_modules/semver": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@types/node": {
"version": "20.11.16",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz",
"integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==",
"version": "20.12.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz",
"integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==",
"version": "7.5.8",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true
},
"node_modules/@vercel/ncc": {
"version": "0.36.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
"integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
"bin": {
"ncc": "dist/ncc/cli.js"
}
},
"node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -186,11 +153,11 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "1.6.7",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
"integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dependencies": {
"follow-redirects": "^1.15.4",
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -252,9 +219,9 @@
}
},
"node_modules/follow-redirects": {
"version": "1.15.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -341,9 +308,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/openpgp": {
"version": "5.11.0",
"resolved": "https://registry.npmjs.org/openpgp/-/openpgp-5.11.0.tgz",
"integrity": "sha512-hytHsxIPtRhuh6uAmoBUThHSwHSX3imLu7x4453T+xkVqIw49rl22MRD4KQIAQdCDoVdouejzYgcuLmMA/2OAA==",
"version": "5.11.1",
"resolved": "https://registry.npmjs.org/openpgp/-/openpgp-5.11.1.tgz",
"integrity": "sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ==",
"dependencies": {
"asn1.js": "^5.0.0"
},
@@ -356,21 +323,6 @@
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
"node_modules/prettier": {
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -382,11 +334,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/tunnel": {
@@ -398,22 +356,22 @@
}
},
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=4.2.0"
"node": ">=14.17"
}
},
"node_modules/undici": {
"version": "5.28.3",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
"integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==",
"version": "5.28.4",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},

View File

@@ -1,6 +1,6 @@
{
"name": "setup-packer",
"version": "3.0.0",
"version": "3.1.0",
"description": "A GitHub Action to install a specific version of HashiCorp Packer and add it to PATH.",
"keywords": [
"github-actions",
@@ -16,19 +16,16 @@
"main": "dist/index.js",
"scripts": {
"build": "tsc && ncc build --no-cache",
"fmt": "prettier --write 'src/*.ts'"
"fmt": "prettier --write 'src/*.ts'",
"copywrite": "copywrite headers && copywrite license"
},
"dependencies": {
"@actions/core": "1.10.1",
"@actions/io": "1.1.3",
"@actions/tool-cache": "2.0.1",
"@hashicorp/github-actions-core": "github:hashicorp/github-actions-core#v0.4.1",
"@vercel/ncc": "0.36.1"
"@actions/core": "^1.10.1",
"@hashicorp/github-actions-core": "github:hashicorp/github-actions-core#1.0.0"
},
"devDependencies": {
"@types/node": "^20.11.10",
"@types/semver": "7.5.4",
"prettier": "2.8.4",
"typescript": "4.9.5"
"@types/node": "^20.12.8",
"@types/semver": "^7.5.8",
"typescript": "^5.4.5"
}
}

View File

@@ -6,6 +6,8 @@
import * as core from "@actions/core";
import * as hc from "@hashicorp/github-actions-core";
export const PRODUCT = "packer";
async function main() {
const version = core.getInput("version");
if (version == null) {
@@ -13,7 +15,7 @@ async function main() {
return;
}
try {
await hc.getHashicorpRelease("packer", version);
await hc.getHashicorpRelease(PRODUCT, version);
} catch (error) {
if (error instanceof Error) {
core.setFailed(error.message);

View File

@@ -1,8 +1,18 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: Apache-2.0
packer {
required_plugins {
# see https://github.com/hashicorp/packer-plugin-hashicups/releases/tag/v1.0.2
hashicups = {
version = ">= 1.0.0"
source = "github.com/hashicorp/hashicups"
}
}
}
# file: builds.pkr.hcl
source "file" "basic-example" {
source "file" "basic_example" {
content = "Lorem ipsum dolor sit amet"
target = "sample_artifact"
}
@@ -20,12 +30,13 @@ build {
Some nice description about the image which artifact is being published to HCP Packer Registry. =D
EOT
labels = {
"foo-version" = "3.4.0",
"foo" = "bar",
bucket_labels = {
"version" = "1.2.3",
"foo" = "bar",
}
}
sources = ["sources.file.basic-example"]
sources = [
"sources.file.basic_example"
]
}