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 +4 -4
- data/Gemfile.lock +1 -1
- data/bin/setup_exercism_config +6 -3
- data/exercism_config.gemspec +5 -0
- data/lib/exercism_config.rb +1 -0
- data/lib/exercism_config/setup_dynamodb_client.rb +5 -7
- data/lib/exercism_config/setup_s3_client.rb +33 -0
- data/lib/exercism_config/version.rb +1 -1
- data/settings/ci.yml +7 -0
- data/{settings-development.yml → settings/development.yml} +0 -0
- data/{settings-docker.yml → settings/docker.yml} +0 -0
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7e49af42a0c31a943a072556d1ddb4113aa5180f18c659995d38b0677c46a5a
|
4
|
+
data.tar.gz: 74fcaf76457c34b7c74a2947e32bb571b9aefe172c550c473e56e218bd07a6f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 718bb639f213a601583190ef48dfc2072218cafe0e66831b89b9c6d3184e4985773948cbf610618ff9aade4ba047a2ace6451438a1d2f17b8e3944ecb37ce60d
|
7
|
+
data.tar.gz: 0f5eab12fb96f6972e5696ffea00c43f0021b47226f9f0126a0316a17fea526c1669a2faaa2fed6d668e389925a600528e5d8ec526b8505804aa05bea0733718
|
data/Gemfile.lock
CHANGED
data/bin/setup_exercism_config
CHANGED
@@ -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
|
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
|
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)
|
data/exercism_config.gemspec
CHANGED
@@ -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
|
data/lib/exercism_config.rb
CHANGED
@@ -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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|
+
|
data/settings/ci.yml
ADDED
@@ -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"] %>
|
File without changes
|
File without changes
|
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.
|
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
|
137
|
-
- settings
|
151
|
+
- settings/ci.yml
|
152
|
+
- settings/development.yml
|
153
|
+
- settings/docker.yml
|
138
154
|
homepage: https://exercism.io
|
139
155
|
licenses: []
|
140
156
|
metadata:
|