Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
hashicorp

GitHub Action

Setup HashiCorp Packer

v0.2.0

Setup HashiCorp Packer

hashicorp

Setup HashiCorp Packer

A GitHub Action to install a specific version of HashiCorp Packer and add it to PATH

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup HashiCorp Packer

uses: hashicorp/[email protected]

Learn more about this action in hashicorp/setup-packer

Choose a version

GitHub Action: Packer

GitHub Action for running Packer commands.

Table of Contents

Usage

Add the Action to your GitHub Workflow like so:

---

name: Packer

on:
  push:

jobs:
  packer:
    runs-on: ubuntu-latest
    name: packer

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      # fix backwards incompatibilities in template
      - name: Fix Template
        uses: operatehappy/packer-github-action
        with:
          command: fix

      # validate templates
      - name: Validate Template
        uses: operatehappy/packer-github-action
        with:
          command: validate
          arguments: -syntax-only
          target: artifacts.pkr.json packer.json

      # build artifact
      - name: Build Artifact
        uses: operatehappy/packer-github-action
        with:
          command: build
          arguments: "-color=false -on-error=abort"

      # additional steps to process artifacts

Inputs

Name Description Required Default
command command to execute yes
arguments arguments for command no
target file(s) to target yes artifacts.pkr.json

command

command supports the following subset of Packer CLI commands:

  • build to generate a set of artifacts from a template
  • fix to find and correct backwards incompatible stanzas in a template
  • validate to validate the syntax and configuration of a template

Other CLI commands (console, inspect and version) are technically supported, but have limited utility in a GitHub Actions Workflow, due to their interactive nature.

arguments

arguments supports all options available for the respective command.

The arguments must be provided as a single string. Multiple arguments should be concatenated like so: "-color=false -on-error=abort"

target

target supports a string consisting of one or more file paths:

   # single file
   target: artifacts.pkr.json

   # multiple files, separated by whitespace
   target: artifacts.pkr.json packer.json

The Action will iterate over each file and run each command, separately.

Notes

  • To enable debug logging, create a secret named ACTIONS_STEP_DEBUG with the value true. See here for more information.

Author Information

This module is maintained by the contributors listed on GitHub.

Development of this module was sponsored by Operate Happy.

License

Licensed under the Apache License, Version 2.0 (the "License").

You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express or implied.

See the License for the specific language governing permissions and limitations under the License.