Write to random env variables

This commit is contained in:
Ethan Dennis
2023-05-15 10:58:01 -07:00
parent dad867c7ca
commit 0a01e3e141
8 changed files with 59 additions and 21 deletions
+21
View File
@@ -0,0 +1,21 @@
# 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?
File.open(ENV[file], "a") do |f|
f.puts "#{name}=#{value}"
end
end
end
-11
View File
@@ -1,11 +0,0 @@
# frozen_string_literal: true
module OutputWriter
def set_output(name, value)
return if value.nil?
File.open(ENV["GITHUB_OUTPUT"], "a") do |f|
f.puts "#{name}=#{value}"
end
end
end
+14 -4
View File
@@ -1,9 +1,9 @@
# frozen_string_literal: true
require_relative "../concerns/output_writer"
require_relative "../concerns/environment_writer"
class Arguments
include OutputWriter
include EnvironmentWriter
def initialize(provider, command, issue_content)
@args = argument_class(provider, command, issue_content)
@@ -24,12 +24,22 @@ class Arguments
arguments.concat(["--custom-transformers", *@custom_transformers]) if @custom_transformers.length.positive?
# rng = ENV["CI"] ? Random.new(0) : Random.new
rng = Random.new(0)
set_output(
"args",
arguments.map do |a|
next a unless a.include?(" ")
value = a.include?(" ") ? a.inspect : a
unless value.start_with?("--")
name = "variable_#{rng.rand(0..1000)}"
set_environment(name, value)
value = "$#{name}"
end
a.inspect
value
end.join(" ")
)
end
+2 -2
View File
@@ -1,10 +1,10 @@
# frozen_string_literal: true
require "active_support/core_ext/string"
require_relative "../concerns/output_writer"
require_relative "../concerns/environment_writer"
class Command
include OutputWriter
include EnvironmentWriter
VALID_COMMANDS = %w[audit migrate dry-run].freeze
+1 -1
View File
@@ -7,7 +7,7 @@ require_rel "./jenkins/**/*.rb"
require_rel "./travis_ci/**/*.rb"
class Provider
include OutputWriter
include EnvironmentWriter
PROVIDER_MAP = {
"azure-devops" => ::AzureDevops,