Files
vms/.github/actions/install_packer/action.yml
T
Greg HellingsandGitHub 634aae8d75 Do some better linting (#13)
* Do some better linting

* Update names, Packer version, and more

* Do not lint on push

* More linting and scripting

* Cleanup shellcheck lint

* Add Packer format check

* Fix Packer formatting

* Limit to only one

* Remove generated HCL files

* Only lint checked files

* Use pipes instead

* Improve attempt to build

Actually go back to attempting to build boxes on GitHub. Maybe it will
work better with this structure

* Change to using environment files

* Initialize plugins, first

* More verbose usage of the file

* Do the output properly this time

* PACKER_LOG set to 1

* No need for python3 anymore

* Limit to only one result

* Choose a specific CPU model

* Init separately

* Update actions version

* Add version outputting

* Correct actions version

* Try to execute qemu properly

* Fix CPU model name

* Do not over-subscribe GitHub runners

* Try type instead of command to guard runs

* Do not write to non-existent folder

* Cache packer plugins

* Use ~ instead of /home/greg

* Try the proper path

* Move to intelligent matrix

* Set global env path

* Add lots of waits for VBoxManage on hosted runners

* Add more waits

* Add more waits
2023-12-06 10:21:32 -06:00

40 lines
1.4 KiB
YAML

name: Install Packer
description: Installs the packerio executable and its attendant tools to /usr/local/bin
for Ubuntu hosts
inputs:
version:
description: Version of Packer to install
required: true
default: "1.9.4"
pup_version:
description: Version of Pup to install
required: true
default: "v0.4.0"
runs:
using: composite
steps:
- name: Install Packer and deps in Linux
shell: bash
if: runner.os == 'Linux'
run: |
set -exo pipefail
# Install virtualbox
sudo apt-get update
# Install QEmu, etc
sudo apt-get install -y unzip cloud-utils xorriso qemu-system-{x86,ppc} vagrant
# Install packer.io
curl -O https://releases.hashicorp.com/packer/${{ inputs.version }}/packer_${{ inputs.version }}_linux_amd64.zip
unzip -o packer_${{ inputs.version }}_linux_amd64.zip -d /usr/local/bin
chmod +x /usr/local/bin/packer
# Install pup
curl -L -o pup.zip "https://github.com/ericchiang/pup/releases/download/${{ inputs.pup_version }}/pup_${{ inputs.pup_version }}_linux_amd64.zip"
sudo unzip pup.zip -d /usr/local/bin
sudo chmod +x /usr/local/bin/pup
- name: Install Packer's deps in macOS
shell: bash
if: runner.os == 'macOS'
run: |
set -exo pipefail
brew install pup dvdrtools xorriso coreutils gsed virtualbox vagrant
# Packer is already installed