cnvrg 1.6.0.9 → 1.6.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a578311b787d26b7a510ce7c6ff9b845d55300b82a5c75e70a787e334693779
4
- data.tar.gz: 7bea7b961282523b23dfbe01014d658147dfa354240246ff4722e165d5603895
3
+ metadata.gz: 345b4c6497b1f7621f04a5d5ec4fb7d51d1939da11cb59e70ba5fda466dd8755
4
+ data.tar.gz: e8321196067449dac95a2e12d2adf74853ebde8f4eda0f0783337a6b5854ea88
5
5
  SHA512:
6
- metadata.gz: f8d23528d8fe271b4f4dde1c585b2a0991e8aaf4445a4b33436355caaed5dff153dd72afa1574123de627a894d38ba78157caa79ba77ba4e52f13ba92e0c6c45
7
- data.tar.gz: 1cfa9cddbd3af489be308bf496f0e4b1079a9a007eafe97cf5255b31187fbb15ab9978797b2a8fbec3b8f4b08c8a74ec042a7088f6e3b799cf0a41e80792c5f3
6
+ metadata.gz: 7b89ffd39a4a95a583de590188708036ca82cf364c058b7de40b9b95f622daa289f44481a5afa880753f26446495ee5a731a3136441ab2626ecdef33a206e457
7
+ data.tar.gz: baf172073f91d7d29495d4cb3fcbadef8b396ea7e8b066c11fcd692e01daeb2be9dbb60e9db8fa619b7294ce00be2a9ad1e4fd156ba2f067eacbcf78aa32e1b2
data/lib/cnvrg/cli.rb CHANGED
@@ -2854,14 +2854,15 @@ module Cnvrg
2854
2854
  method_option :job_type, :type => :string, :aliases => ["-jt", "--job_type"], :default => nil
2855
2855
  method_option :files, :type => :string, :aliases => ["--files"], :default => nil
2856
2856
  method_option :output_dir, :type => :string, :aliases => ["--output_dir"], :default => nil
2857
- def sync(direct = true)
2857
+ def sync(direct = true)
2858
2858
  verify_logged_in(true) if direct
2859
2859
  @project = Project.new(get_project_home)
2860
2860
  log_start(__method__, args, options)
2861
2861
  log_message('Checking for new updates from remote version', Thor::Shell::Color::BLUE, options["verbose"])
2862
2862
  log_message('Syncing project', Thor::Shell::Color::BLUE, !options["verbose"])
2863
- job_slug = options['job_slug']
2864
- job_type = options['job_type']
2863
+ job_slug = options['job_slug'] || ENV['CNVRG_JOB_ID']
2864
+ job_type = options['job_type'] || ENV['CNVRG_JOB_TYPE']
2865
+ is_git = ENV['CNVRG_GIT_PROJECT'] == "true" || @project.is_git
2865
2866
  in_exp = options["in_exp"] || (job_slug.present? and job_type.present?)
2866
2867
  in_exp = false if job_type.present? and job_type == "NotebookSession"
2867
2868
  run_download = true
@@ -2913,6 +2914,8 @@ module Cnvrg
2913
2914
  method_option :local_folders, :type => :string, :aliases => ["--local_folders"], :default => nil
2914
2915
  method_option :prerun, :type => :boolean, :aliases => ["-p", "--prerun"], :default => true
2915
2916
  method_option :requirements, :type => :boolean, :aliases => ["-r", "--requirements"], :default => true
2917
+ method_option :notify_on_error, :type => :boolean, :aliases => ["-noe", "--notify_on_error"], :default => nil
2918
+ method_option :notify_on_success, :type => :boolean, :aliases => ["-nos", "--notify_on_success"], :default => nil
2916
2919
 
2917
2920
  def run(*cmd)
2918
2921
  verify_logged_in(true)
@@ -2944,6 +2947,8 @@ module Cnvrg
2944
2947
  local_folders = options["local_folders"]
2945
2948
  prerun = options["prerun"]
2946
2949
  requirements = options["requirements"]
2950
+ email_notification_error = options["notify_on_error"]
2951
+ email_notification_success = options["notify_on_success"]
2947
2952
 
2948
2953
  if !data.present? and data_query.present?
2949
2954
  log_message("Please provide data with data_query", Thor::Shell::Color::RED)
@@ -2993,7 +2998,8 @@ module Cnvrg
2993
2998
  :max_time => max_time,
2994
2999
  :periodic_sync => periodic_sync, :dataset_only_tree=> dataset_only_tree,
2995
3000
  :output_dir=>output_dir, :data_query=>data_query, :git_commit =>git_commit, :git_branch=> git_branch,
2996
- :restart_if_stuck =>restart_if_stuck, :local_folders => local_folders, :datasets => datasets, :prerun => prerun, :requirements => requirements
3001
+ :restart_if_stuck =>restart_if_stuck, :local_folders => local_folders, :datasets => datasets, :prerun => prerun, :requirements => requirements,
3002
+ :email_notification_error => email_notification_error, :email_notification_success => email_notification_success
2997
3003
  return
2998
3004
  end
2999
3005
 
@@ -3299,6 +3305,8 @@ module Cnvrg
3299
3305
  method_option :datasets, :type => :string, :aliases => ["--datasets"], :default => nil
3300
3306
  method_option :prerun, :type => :boolean, :aliases => ["-p", "--prerun"], :default => true
3301
3307
  method_option :requirements, :type => :boolean, :aliases => ["-r", "--requirements"], :default => true
3308
+ method_option :email_notification_error, :type => :boolean, :aliases => ["--email_notification_error"], :default => true
3309
+ method_option :email_notification_success, :type => :boolean, :aliases => ["--email_notification_success"], :default => true
3302
3310
 
3303
3311
  def exec_remote(*cmd)
3304
3312
 
@@ -3318,6 +3326,8 @@ module Cnvrg
3318
3326
  force = options["force"]
3319
3327
  prerun = options["prerun"]
3320
3328
  requirements = options["requirements"]
3329
+ email_notification_error = options["email_notification_error"]
3330
+ email_notification_success = options["email_notification_success"]
3321
3331
  max_time = options["max_time"]
3322
3332
  if !max_time.nil? and !max_time.empty?
3323
3333
  max_time = max_time.to_i
@@ -3356,7 +3366,8 @@ module Cnvrg
3356
3366
  local_folders_options = options["local_folders"]
3357
3367
  options_hash.except!("schedule", "recurring", "machine_type", "image", "upload_output", "grid", "data", "data_commit", "title",
3358
3368
  "local", "small", "medium", "large", "gpu", "gpuxl", "gpuxxl","max_time","dataset_only_tree",
3359
- "data_query", "git_commit","git_branch", "restart_if_stuck","local_folders","output_dir", "commit", "datasets", "requirements", "prerun" )
3369
+ "data_query", "git_commit","git_branch", "restart_if_stuck","local_folders","output_dir", "commit", "datasets", "requirements", "prerun",
3370
+ "email_notification_error", "email_notification_success")
3360
3371
  exec_options = options_hash.map {|x| "--#{x[0]}=#{x[1]}"}.flatten.join(" ")
3361
3372
  command = "#{exec_options} #{remote} #{upload_output_option} #{cmd.flatten.join(" ")}"
3362
3373
  commit_to_run = options["commit"] || nil
@@ -3427,7 +3438,8 @@ module Cnvrg
3427
3438
 
3428
3439
  res = exp.exec_remote(command, commit_to_run, instance_type, image, schedule, local_timestamp, grid, path_to_cmd, data, data_commit,
3429
3440
  periodic_sync, sync_before_terminate, max_time, ds_sync_options,output_dir,
3430
- data_query, git_commit, git_branch, restart_if_stuck,local_folders_options, title, datasets, prerun: prerun, requirements: requirements, recurring: recurring)
3441
+ data_query, git_commit, git_branch, restart_if_stuck,local_folders_options, title, datasets, prerun: prerun, requirements: requirements, recurring: recurring,
3442
+ email_notification_error: email_notification_error, email_notification_success: email_notification_success)
3431
3443
  if Cnvrg::CLI.is_response_success(res)
3432
3444
  check = Helpers.checkmark()
3433
3445
  str = "#{check} Experiment's is on: #{Cnvrg::Helpers.remote_url}/#{project.owner}/projects/#{project.slug}/experiments/#{res["result"]["exp_url"]}"
@@ -107,7 +107,8 @@ module Cnvrg
107
107
 
108
108
  def exec_remote(command, commit_to_run, instance_type, image_slug,schedule,local_timestamp, grid,path_to_cmd,data, data_commit,periodic_sync,
109
109
  sync_before_terminate, max_time, ds_sync_options=0,output_dir=nil,data_query=nil,
110
- git_commit=nil, git_branch=nil, restart_if_stuck=nil, local_folders=nil,title=nil, datasets=nil, prerun: true, requirements: true, recurring: nil)
110
+ git_commit=nil, git_branch=nil, restart_if_stuck=nil, local_folders=nil,title=nil, datasets=nil, prerun: true, requirements: true, recurring: nil,
111
+ email_notification_error: false, email_notification_success: false)
111
112
  response = Cnvrg::API.request("users/#{@owner}/projects/#{@project_slug}/experiment/remote", 'POST', {command: command, image_slug: image_slug,
112
113
  commit_sha1: commit_to_run,
113
114
  instance_type: instance_type,
@@ -121,7 +122,9 @@ module Cnvrg
121
122
  dataset_sync_options:ds_sync_options,output_dir:output_dir,
122
123
  dataset_query:data_query,git_commit:git_commit,git_branch:git_branch,
123
124
  restart_if_stuck:restart_if_stuck, local_folders: local_folders, title:title,
124
- prerun: prerun, requirements: requirements, recurring: recurring})
125
+ prerun: prerun, requirements: requirements, recurring: recurring,
126
+ email_notification_error: email_notification_error,
127
+ email_notification_success: email_notification_success})
125
128
 
126
129
  return response
127
130
  end
data/lib/cnvrg/project.rb CHANGED
@@ -1,4 +1,7 @@
1
1
  require 'fileutils'
2
+ require 'pathname'
3
+
4
+
2
5
  module Cnvrg
3
6
  class Project
4
7
  attr_reader :slug, :owner, :title, :local_path, :working_dir, :is_git, :is_branch, :machines
@@ -426,8 +429,10 @@ module Cnvrg
426
429
  end
427
430
  list_ignore_new = list_ignore.map{|x| x.gsub("//","/")} rescue []
428
431
  # list.each do |e|
432
+ project_root = Pathname.new(self.local_path)
429
433
  Parallel.map(list, in_threads: IDXParallelThreads) do |e|
430
- label = e.gsub(self.local_path + "/", "")
434
+ relative_path = Pathname.new(File.expand_path(e))
435
+ label = relative_path.relative_path_from(project_root)
431
436
  if not Cnvrg::Files.valid_file_name?(label)
432
437
  raise StandardError.new("#{label} is not a valid file name")
433
438
  end
data/lib/cnvrg/version.rb CHANGED
@@ -1,4 +1,3 @@
1
1
  module Cnvrg
2
- VERSION = '1.6.0.9'
2
+ VERSION = '1.6.0.13'
3
3
  end
4
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cnvrg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.9
4
+ version: 1.6.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yochay Ettun
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-12-24 00:00:00.000000000 Z
13
+ date: 2020-01-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -477,7 +477,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
477
477
  - !ruby/object:Gem::Version
478
478
  version: '0'
479
479
  requirements: []
480
- rubygems_version: 3.0.4
480
+ rubygems_version: 3.0.3
481
481
  signing_key:
482
482
  specification_version: 4
483
483
  summary: A CLI tool for interacting with cnvrg.io.