#!/usr/bin/env ruby

# frozen_string_literal: true

require 'json'
require 'puppet_metadata'

filename = ARGV[0]
filename = 'metadata.json' if filename.nil? || filename.empty?

begin
  metadata = PuppetMetadata.read(filename)
rescue StandardError => e
  warn "Failed to read #{filename}: #{e}"
  exit 2
end

options = {
  beaker_pidfile_workaround: false,
  domain: 'example.com',
  minimum_major_puppet_version: nil,
  beaker_fact: nil,
  beaker_hosts: nil,
}

metadata.github_actions(options).outputs[:puppet_beaker_test_matrix].each do |os|
  puts "BEAKER_SETFILE=\"#{os[:env]['BEAKER_SETFILE']}\""
end
