24 lines
466 B
Ruby
24 lines
466 B
Ruby
# frozen_string_literal: true
|
|
|
|
module EnvironmentWriter
|
|
def set_output(name, value)
|
|
modify_env("GITHUB_OUTPUT", name, value)
|
|
end
|
|
|
|
def set_environment(name, value)
|
|
modify_env("GITHUB_ENV", name, value)
|
|
end
|
|
|
|
private
|
|
|
|
def modify_env(file, name, value)
|
|
return if value.nil?
|
|
|
|
raise ArgumentError, "Invalid input: #{name}=#{value}" if value.include?("\n")
|
|
|
|
File.open(ENV[file], "a") do |f|
|
|
f.puts "#{name}=#{value}"
|
|
end
|
|
end
|
|
end
|