exercism-config 0.37.0 → 0.44.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: 5c3553a925d735e0f255f9e3c7afc498b1b6c33d70d30026b138beed0fbd49d0
4
- data.tar.gz: 9270aee69112a25339a7c9c68450f72418a7ddfdd59667b571151025e3cc89cc
3
+ metadata.gz: d16293bab1db89c167c3057474f342b2db3e741c4929b67b0529c9be72c73cf0
4
+ data.tar.gz: f0202eebe5d45b1c5703d09eeb1a4057807f47d05e032f6bdd5dc6666b79bf26
5
5
  SHA512:
6
- metadata.gz: 5a8016773caff1b76a54e9d71febcda4b9e87b37e309859f02568a1146e54af2c0fc7f9336d351b6e5b24fa7ac82f14a5ead9ba71226583b64565ca67cccf5f3
7
- data.tar.gz: 066ea0f51d9aaf4f3e6b4daf46b743510ebd41a399f299fca560e860f5dd17d39a5ccd31afe2bb6cabfed4f7524dc87d05bb0778f2b55082f3fbd823aaa2f567
6
+ metadata.gz: e7455d261fa9914f62b971eb05e9ad40b900f767d8228a30cddd4023a360daf613df5fa067261daad9c2193d749dc1691f785b12b9f3ea553ca743cf1fc9e92e
7
+ data.tar.gz: 51c76961b8c6be0264462c57dd9677659f4ef86b868fcdffa07ca284fb63c401922f6b9fcae559e3df42678a08f0d88e986d8754b312ffeb7a07a7aeab489150
@@ -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}}
@@ -56,6 +56,10 @@ Style/Documentation:
56
56
  Style/DocumentationMethod:
57
57
  Enabled: false
58
58
 
59
+ Style/GuardClause:
60
+ Exclude:
61
+ - lib/exercism_config/environment.rb
62
+
59
63
  Style/IfUnlessModifier:
60
64
  Exclude:
61
65
  - "lib/exercism_config/setup_dynamodb_client.rb"
data/Rakefile CHANGED
@@ -8,3 +8,7 @@ Rake::TestTask.new(:test) do |t|
8
8
  end
9
9
 
10
10
  task default: :test
11
+
12
+ task :lint do
13
+ sh 'bundle exec rubocop --except Metrics -a'
14
+ end
@@ -5,8 +5,7 @@ require 'exercism-config'
5
5
  require 'erb'
6
6
  require 'yaml'
7
7
 
8
- env = ExercismConfig::DetermineEnvironment.call
9
- if env == :production
8
+ if Exercism.env.production?
10
9
  puts 'Aborted! This script should not be run in production.'
11
10
  exit
12
11
  end
@@ -71,9 +70,9 @@ settings_file =
71
70
  elsif ENV['EXERCISM_DOCKER']
72
71
  File.expand_path('../settings/docker.yml', __dir__)
73
72
  elsif ENV['EXERCISM_CI']
74
- File.expand_path('../settings/test-ci.yml', __dir__)
73
+ File.expand_path('../settings/ci.yml', __dir__)
75
74
  else
76
- File.expand_path('../settings/development.yml', __dir__)
75
+ File.expand_path('../settings/local.yml', __dir__)
77
76
  end
78
77
 
79
78
  puts "Using settings file: #{settings_file}"
@@ -13,15 +13,18 @@ Exercism.config.dynamodb_client = ExercismConfig::SetupDynamoDBClient.()
13
13
  # Setup local s3 #
14
14
  ##################
15
15
 
16
- # We don't need this running for CI atm as none of our
17
- # tests actually hit s3. Although we might choose to change this
18
- unless ENV["EXERCISM_CI"] || ENV["EXERCISM_SKIP_S3"]
19
- begin
20
- ExercismConfig::SetupS3Client.().create_bucket(bucket: Exercism.config.aws_iterations_bucket)
21
- rescue Seahorse::Client::NetworkingError => e
22
- puts "local S3 not up yet..."
23
- sleep 2 # slighty retry delaty
24
- retry
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
 
@@ -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)
@@ -1,6 +1,6 @@
1
1
  module ExercismConfig
2
2
  class Environment
3
- ALLOWED_ENVS = %{development test production}
3
+ ALLOWED_ENVS = %(development test production).freeze
4
4
  private_constant :ALLOWED_ENVS
5
5
 
6
6
  def initialize(raw_env)
@@ -14,11 +14,11 @@ module ExercismConfig
14
14
  require 'yaml'
15
15
 
16
16
  filename = if ENV["EXERCISM_CI"]
17
- 'test-ci'
17
+ 'ci'
18
18
  elsif ENV["EXERCISM_DOCKER"]
19
- 'test-docker'
19
+ 'docker'
20
20
  else
21
- 'test-local'
21
+ 'local'
22
22
  end
23
23
 
24
24
  settings_file = File.expand_path("../../../settings/#{filename}.yml", __FILE__)
@@ -36,13 +36,6 @@ module ExercismConfig
36
36
  h[item['id']] = item['value']
37
37
  end
38
38
 
39
- # Tweak things for dynamodb when we're running in test mode
40
- if Exercism.env.test?
41
- %w[dynamodb_tooling_jobs_table].each do |key|
42
- data[key] = "#{data[key]}-test"
43
- end
44
- end
45
-
46
39
  aws_settings = GenerateAwsSettings.()
47
40
  Exercism::Config.new(data, aws_settings)
48
41
  rescue Exercism::ConfigError
@@ -15,7 +15,6 @@ module ExercismConfig
15
15
  end
16
16
 
17
17
  private
18
-
19
18
  memoize
20
19
  def config_endpoint
21
20
  return nil if Exercism.env.production?
@@ -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}"
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = '0.37.0'.freeze
2
+ VERSION = '0.44.0'.freeze
3
3
  end
@@ -1,7 +1,8 @@
1
1
  anycable_redis_url: redis://127.0.0.1:6379/1
2
2
  anycable_rpc_host: 127.0.0.1:50051
3
- aws_iterations_bucket: exercism-staging-iterations
4
- dynamodb_tooling_jobs_table: tooling_jobs-test
3
+ aws_submissions_bucket: exercism-staging-submissions
4
+ aws_tooling_jobs_bucket: exercism-staging-tooling-jobs
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
7
8
 
@@ -1,6 +1,7 @@
1
1
  anycable_redis_url: redis://redis:6379/1
2
2
  anycable_rpc_host: 0.0.0.0:50051
3
- aws_iterations_bucket: exercism-staging-iterations
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
@@ -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
- aws_iterations_bucket: exercism-staging-iterations
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.37.0
4
+ version: 0.44.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-08-11 00:00:00.000000000 Z
11
+ date: 2020-10-06 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"
@@ -157,11 +156,9 @@ files:
157
156
  - lib/exercism_config/setup_s3_client.rb
158
157
  - lib/exercism_config/version.rb
159
158
  - package.json
160
- - settings/development.yml
159
+ - settings/ci.yml
161
160
  - settings/docker.yml
162
- - settings/test-ci.yml
163
- - settings/test-docker.yml
164
- - settings/test-local.yml
161
+ - settings/local.yml
165
162
  - yarn.lock
166
163
  homepage: https://exercism.io
167
164
  licenses: []
@@ -1,12 +0,0 @@
1
- check_name: 'Rubocop Results'
2
-
3
- rubocop_fail_level: 'refactor'
4
-
5
- rubocop_excluded_cops:
6
- - 'Metrics'
7
-
8
- versions:
9
- - rubocop
10
- - rubocop-rails
11
- - rubocop-minitest
12
- - rubocop-performance
@@ -1,9 +0,0 @@
1
- anycable_redis_url: redis://some_anycable_redis_url:1234/9
2
- anycable_rpc_host: 1.2.3.4:9876543
3
- aws_iterations_bucket: some-iterations-bucket
4
- dynamodb_tooling_jobs_table: tooling_jobs-test
5
- spi_url: http://some_url:1234
6
- tooling_orchestrator_url: http://some_orchestrator_url:1234
7
-
8
- mysql_master_endpoint: mysql
9
- mysql_port: 3306
@@ -1,9 +0,0 @@
1
- anycable_redis_url: redis://some_anycable_redis_url:1234/9
2
- anycable_rpc_host: 1.2.3.4:9876543
3
- aws_iterations_bucket: some-iterations-bucket
4
- dynamodb_tooling_jobs_table: tooling_jobs-test
5
- spi_url: http://some_url:1234
6
- tooling_orchestrator_url: http://some_orchestrator_url:1234
7
-
8
- mysql_master_endpoint: localhost
9
- mysql_socket: /tmp/mysql.sock