exercism_config 0.19.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d8f9947448e72f417cd4da6d1ba5700a8cf3b171b387d3a1112dc23d9d953b6
4
- data.tar.gz: 07c32a1e10c2ea8e7599086a3038e98ef11e1580e59b833ac45aea4510066d13
3
+ metadata.gz: d7e49af42a0c31a943a072556d1ddb4113aa5180f18c659995d38b0677c46a5a
4
+ data.tar.gz: 74fcaf76457c34b7c74a2947e32bb571b9aefe172c550c473e56e218bd07a6f9
5
5
  SHA512:
6
- metadata.gz: abc918c726bb0810528365950c4363901a124815daa5f44356021e8f07d2dd3dec61ed29fb09fc7a4b482ee1b53208a866ccbed473ef501e5616dab0254dab2a
7
- data.tar.gz: 05c42ebedca84160661fc68f2bc4d6d3115978da15295eded25f19e2d2c21d60ac18b0983c6067a7b3e2df931e1a76f8565b5ae48c77a68efcf316b211447025
6
+ metadata.gz: 718bb639f213a601583190ef48dfc2072218cafe0e66831b89b9c6d3184e4985773948cbf610618ff9aade4ba047a2ace6451438a1d2f17b8e3944ecb37ce60d
7
+ data.tar.gz: 0f5eab12fb96f6972e5696ffea00c43f0021b47226f9f0126a0316a17fea526c1669a2faaa2fed6d668e389925a600528e5d8ec526b8505804aa05bea0733718
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- exercism_config (0.18.0)
4
+ exercism_config (0.21.0)
5
5
  aws-sdk-dynamodb (~> 1.0)
6
6
  mandate
7
7
  zeitwerk
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "bundler/setup"
4
4
  require "exercism_config"
5
+ require 'erb'
5
6
  require 'yaml'
6
7
 
7
8
  env = ExercismConfig::DetermineEnvironment.()
@@ -68,13 +69,15 @@ settings_file =
68
69
  if settings_file_arg
69
70
  settings_file_arg.split("=").last
70
71
  elsif ENV["EXERCISM_DOCKER"]
71
- File.expand_path("../../settings-docker.yml", __FILE__)
72
+ File.expand_path("../../settings/docker.yml", __FILE__)
73
+ elsif ENV["EXERCISM_CI"]
74
+ File.expand_path("../../settings/ci.yml", __FILE__)
72
75
  else
73
- File.expand_path("../../settings-development.yml", __FILE__)
76
+ File.expand_path("../../settings/development.yml", __FILE__)
74
77
  end
75
78
 
76
79
  puts "Using settings file: #{settings_file}"
77
- settings = YAML.load(File.read(settings_file))
80
+ settings = YAML.load(ERB.new(File.read(settings_file)).result)
78
81
 
79
82
  settings.each do |key, value|
80
83
  set_config_value(client, key, value)
@@ -30,4 +30,9 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "rake", "~> 12.3"
31
31
  spec.add_development_dependency "minitest", "~> 5.0"
32
32
  spec.add_development_dependency "mocha"
33
+
34
+ # This isn't a compulsary dependency
35
+ # but can be used if someone puts it in their
36
+ # own gemfile
37
+ spec.add_development_dependency "aws-sdk-s3"
33
38
  end
@@ -6,6 +6,7 @@ require 'json'
6
6
  require_relative 'exercism_config/determine_environment'
7
7
  require_relative 'exercism_config/generate_aws_settings'
8
8
  require_relative 'exercism_config/setup_dynamodb_client'
9
+ require_relative 'exercism_config/setup_s3_client'
9
10
  require_relative 'exercism_config/retrieve'
10
11
  require_relative 'exercism_config/generate_aws_settings'
11
12
  require_relative "exercism_config/version"
@@ -19,13 +19,11 @@ module ExercismConfig
19
19
 
20
20
  memoize
21
21
  def config_endpoint
22
- case Exercism.environment
23
- when :development, :test
24
- host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:3039"
25
- "http://#{host}"
26
- else
27
- nil
28
- end
22
+ return nil unless %i[development test].include?(Exercism.environment)
23
+ return "http://127.0.0.1:#{ENV["DYNAMODB_PORT"]}" if ENV["EXERCISM_CI"]
24
+
25
+ host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:3040"
26
+ "http://#{host}"
29
27
  end
30
28
  end
31
29
  end
@@ -0,0 +1,33 @@
1
+ module ExercismConfig
2
+ class SetupS3Client
3
+ include Mandate
4
+
5
+ def call
6
+ require 'aws-sdk-s3'
7
+
8
+ aws_settings = GenerateAwsSettings.().merge(
9
+ endpoint: config_endpoint,
10
+ force_path_style: true,
11
+
12
+ # We don't want a profile for this AWS service
13
+ # as we run it locally. But we do normally, so
14
+ # we locally override this here.
15
+ profile: nil
16
+ ).select {|k,v|v}
17
+ Aws::S3::Client.new(aws_settings)
18
+ end
19
+
20
+ private
21
+ attr_reader :environment
22
+
23
+ memoize
24
+ def config_endpoint
25
+ return nil unless %i[development test].include?(Exercism.environment)
26
+ return "http://127.0.0.1:#{ENV["S3_PORT"]}" if ENV["EXERCISM_CI"]
27
+
28
+ host = ENV["EXERCISM_DOCKER"] ? "s3:9090" : "localhost:3041"
29
+ "http://#{host}"
30
+ end
31
+ end
32
+ end
33
+
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = "0.19.0"
2
+ VERSION = "0.25.0"
3
3
  end
@@ -0,0 +1,7 @@
1
+ aws_iterations_bucket: exercism-staging-iterations
2
+ dynamodb_tooling_jobs_table: tooling_jobs
3
+ tooling_orchestrator_url: http://127.0.0.1:3021
4
+ anycable_redis_url: redis://127.0.0.1:6379/1
5
+ anycable_rpc_host: 127.0.0.1:50051
6
+ rds_master_endpoint: 127.0.0.1
7
+ rds_port: <%= ENV["MYSQL_PORT"] %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exercism_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: aws-sdk-s3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description:
112
126
  email:
113
127
  - jez.walker@gmail.com
@@ -132,9 +146,11 @@ files:
132
146
  - lib/exercism_config/generate_aws_settings.rb
133
147
  - lib/exercism_config/retrieve.rb
134
148
  - lib/exercism_config/setup_dynamodb_client.rb
149
+ - lib/exercism_config/setup_s3_client.rb
135
150
  - lib/exercism_config/version.rb
136
- - settings-development.yml
137
- - settings-docker.yml
151
+ - settings/ci.yml
152
+ - settings/development.yml
153
+ - settings/docker.yml
138
154
  homepage: https://exercism.io
139
155
  licenses: []
140
156
  metadata: