exercism-config 0.38.0 → 0.45.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/.github/workflows/tests.yml +1 -0
- data/.rubocop.yml +4 -0
- data/Rakefile +4 -0
- data/bin/setup_exercism_local_aws +51 -9
- data/lib/exercism_config/determine_environment.rb +4 -0
- data/lib/exercism_config/environment.rb +1 -1
- data/lib/exercism_config/setup_dynamodb_client.rb +0 -1
- data/lib/exercism_config/setup_s3_client.rb +1 -2
- data/lib/exercism_config/version.rb +1 -1
- data/settings/ci.yml +2 -1
- data/settings/docker.yml +2 -1
- data/settings/local.yml +2 -1
- metadata +2 -3
- data/.github/config/rubocop_linter_action.yml +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8059e119b7057a0972501f6f3d0921e575024f3497ffaab9b9e62fa63bd186b
|
4
|
+
data.tar.gz: 1ee220aa35d61dbcf41b498ea268b21a0bd0c1cd4d72507993a759d83847faa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '048546048f8700a7156b6b791ebea79a4d622c3f77b997d9a198c975eb4d20571b59c2a97fff65f0c5d3df37179f0fec660f02cdfbb769d8728ae223b999fd55'
|
7
|
+
data.tar.gz: 734e6b495e2e67405d3396e8621ee611050c75043f4a7ab2fc43085bbad45603a45777b328967ccc41eebcdd5dfd28ae7004f6b815065cd4a7b58f3f9764f47f
|
data/.github/workflows/tests.yml
CHANGED
@@ -73,6 +73,7 @@ jobs:
|
|
73
73
|
###
|
74
74
|
# Publish the coverage to CodeClimate
|
75
75
|
- name: Publish code coverage
|
76
|
+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
76
77
|
env:
|
77
78
|
GIT_BRANCH: ${GITHUB_REF/refs\/heads\//}
|
78
79
|
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
|
data/.rubocop.yml
CHANGED
data/Rakefile
CHANGED
@@ -13,15 +13,18 @@ Exercism.config.dynamodb_client = ExercismConfig::SetupDynamoDBClient.()
|
|
13
13
|
# Setup local s3 #
|
14
14
|
##################
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
unless ENV["EXERCISM_SKIP_S3"]
|
17
|
+
[
|
18
|
+
Exercism.config.aws_submissions_bucket,
|
19
|
+
Exercism.config.aws_tooling_jobs_bucket,
|
20
|
+
].each do |bucket|
|
21
|
+
begin
|
22
|
+
ExercismConfig::SetupS3Client.().create_bucket(bucket: bucket)
|
23
|
+
rescue Seahorse::Client::NetworkingError => e
|
24
|
+
puts "local S3 not up yet..."
|
25
|
+
sleep 2 # slighty retry delaty
|
26
|
+
retry
|
27
|
+
end
|
25
28
|
end
|
26
29
|
end
|
27
30
|
|
@@ -94,4 +97,43 @@ end
|
|
94
97
|
}
|
95
98
|
]
|
96
99
|
)
|
100
|
+
|
101
|
+
Exercism.config.dynamodb_client.update_table(
|
102
|
+
table_name: table_name,
|
103
|
+
attribute_definitions: [
|
104
|
+
{
|
105
|
+
attribute_name: "submission_uuid",
|
106
|
+
attribute_type: "S"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
attribute_name: "type",
|
110
|
+
attribute_type: "S"
|
111
|
+
}
|
112
|
+
],
|
113
|
+
global_secondary_index_updates: [
|
114
|
+
{
|
115
|
+
create: {
|
116
|
+
index_name: "submission_type", # required
|
117
|
+
key_schema: [ # required
|
118
|
+
{
|
119
|
+
attribute_name: "submission_uuid", # required
|
120
|
+
key_type: "HASH" # required, accepts HASH, RANGE
|
121
|
+
},
|
122
|
+
{
|
123
|
+
attribute_name: "type", # required
|
124
|
+
key_type: "RANGE" # required, accepts HASH, RANGE
|
125
|
+
}
|
126
|
+
],
|
127
|
+
projection: { # required
|
128
|
+
projection_type: "INCLUDE",
|
129
|
+
non_key_attributes: ["id", "job_status"]
|
130
|
+
},
|
131
|
+
provisioned_throughput: {
|
132
|
+
read_capacity_units: 1, # required
|
133
|
+
write_capacity_units: 1 # required
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
]
|
138
|
+
)
|
97
139
|
end
|
@@ -4,6 +4,10 @@ module ExercismConfig
|
|
4
4
|
|
5
5
|
def call
|
6
6
|
env = ENV['EXERCISM_ENV'] || ENV['RAILS_ENV'] || ENV['APP_ENV']
|
7
|
+
unless env
|
8
|
+
env = Rails.env.to_s if Object.const_defined?(:Rails) && Rails.respond_to?(:env)
|
9
|
+
end
|
10
|
+
|
7
11
|
raise Exercism::ConfigError, 'No environment set - set one of EXERCISM_ENV, RAILS_ENV or APP_ENV' unless env
|
8
12
|
|
9
13
|
Environment.new(env)
|
@@ -18,11 +18,10 @@ module ExercismConfig
|
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
21
|
-
|
22
21
|
memoize
|
23
22
|
def config_endpoint
|
24
23
|
return nil if Exercism.env.production?
|
25
|
-
return "http://127.0.0.1:#{ENV['S3_PORT']}" if ENV['EXERCISM_CI']
|
24
|
+
return "http://127.0.0.1:#{ENV['S3_PORT']}" if Exercism.env.test? && ENV['EXERCISM_CI']
|
26
25
|
|
27
26
|
host = ENV['EXERCISM_DOCKER'] ? 's3:9090' : 'localhost:3041'
|
28
27
|
"http://#{host}"
|
data/settings/ci.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
anycable_redis_url: redis://127.0.0.1:6379/1
|
2
2
|
anycable_rpc_host: 127.0.0.1:50051
|
3
|
-
|
3
|
+
aws_submissions_bucket: exercism-staging-submissions
|
4
|
+
aws_tooling_jobs_bucket: exercism-staging-tooling-jobs
|
4
5
|
dynamodb_tooling_jobs_table: tooling_jobs
|
5
6
|
spi_url: http://127.0.0.1:3020
|
6
7
|
tooling_orchestrator_url: http://127.0.0.1:3021
|
data/settings/docker.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
anycable_redis_url: redis://redis:6379/1
|
2
2
|
anycable_rpc_host: 0.0.0.0:50051
|
3
|
-
|
3
|
+
aws_submissions_bucket: exercism-staging-submissions
|
4
|
+
aws_tooling_jobs_bucket: exercism-staging-tooling-jobs
|
4
5
|
dynamodb_tooling_jobs_table: tooling_jobs
|
5
6
|
mysql_master_endpoint: mysql
|
6
7
|
mysql_port: 3306
|
data/settings/local.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
anycable_redis_url: redis://127.0.0.1:6379/1
|
2
2
|
anycable_rpc_host: 127.0.0.1:50051
|
3
|
-
|
3
|
+
aws_submissions_bucket: exercism-staging-submissions
|
4
|
+
aws_tooling_jobs_bucket: exercism-staging-tooling-jobs
|
4
5
|
dynamodb_tooling_jobs_table: tooling_jobs
|
5
6
|
mysql_master_endpoint: localhost
|
6
7
|
mysql_socket: /tmp/mysql.sock
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exercism-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.45.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-dynamodb
|
@@ -131,7 +131,6 @@ executables:
|
|
131
131
|
extensions: []
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
|
-
- ".github/config/rubocop_linter_action.yml"
|
135
134
|
- ".github/workflows/rubocop.yml"
|
136
135
|
- ".github/workflows/tests.yml"
|
137
136
|
- ".gitignore"
|