ProxiBlue / vagrant-communicator-docker

Vagrant communicator for docker, as not all docker instances do have SSH
MIT License
5 stars 0 forks source link

vagrant-communicator-docker.rb:97:in `upload': undefined method `archive_in' for nil:NilClass (NoMethodError) #5

Closed eighthave closed 2 years ago

eighthave commented 2 years ago

vagrant upload lets you upload files via the active communicator. It seems like it is not implemented here:

vagrant-communicator-docker-test-case# VAGRANT_LOG=info vagrant up --provider docker --provision  
 INFO global: Vagrant version: 2.2.3
 INFO global: Ruby version: 2.5.5
 INFO global: RubyGems version: 2.7.6.2
 INFO global: VAGRANT_LOG="info"
 INFO global: VAGRANT_DISABLE_VBOXSYMLINKCREATE="1"
 WARN global: resolv replacement has not been enabled!
 INFO manager: Registered plugin: NixOS guest
 INFO manager: Registered plugin: BSD-based guest
 INFO manager: Registered plugin: Debian guest
 INFO manager: Registered plugin: Solaris 11 guest.
 INFO manager: Registered plugin: Fedora guest
 INFO manager: Registered plugin: SUSE guest
 INFO manager: Registered plugin: Elementary guest
 INFO manager: Registered plugin: TinyCore Linux guest.
 INFO manager: Registered plugin: Haiku guest
 INFO manager: Registered plugin: Trisquel guest
 INFO manager: Registered plugin: PLD Linux guest
 INFO manager: Registered plugin: Mint guest
 INFO manager: Registered plugin: Amazon Linux guest
 INFO manager: Registered plugin: Slackware guest
 INFO manager: Registered plugin: OpenBSD guest
 INFO manager: Registered plugin: Atomic Host guest
 INFO manager: Registered plugin: Ubuntu guest
 INFO manager: Registered plugin: Windows guest.
 INFO manager: Registered plugin: SmartOS guest.
 INFO manager: Registered plugin: NetBSD guest
 INFO manager: Registered plugin: Gentoo guest
 INFO manager: Registered plugin: VMware Photon guest
 INFO manager: Registered plugin: DragonFly BSD guest
 INFO manager: Registered plugin: FreeBSD guest
 INFO manager: Registered plugin: Arch guest
 INFO manager: Registered plugin: Red Hat Enterprise Linux guest
 INFO manager: Registered plugin: Funtoo guest
 INFO manager: Registered plugin: CoreOS guest
 INFO manager: Registered plugin: ALT Platform guest
 INFO manager: Registered plugin: OmniOS guest.
 INFO manager: Registered plugin: Darwin guest
 INFO manager: Registered plugin: ESXi guest.
 INFO manager: Registered plugin: Linux guest.
 INFO manager: Registered plugin: Kali guest
 INFO manager: Registered plugin: Solaris guest.
 INFO manager: Registered plugin: SMB synced folders
 INFO manager: Registered plugin: RSync synced folders
 INFO manager: Registered plugin: NFS synced folders
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: winrm communicator
 INFO manager: Registered plugin: ssh communicator
 INFO manager: Registered plugin: windows ssh communicator
 INFO manager: Registered plugin: local-exec
 INFO manager: Registered plugin: atlas
 INFO manager: Registered plugin: noop
 INFO manager: Registered plugin: heroku
 INFO manager: Registered plugin: ftp
 INFO manager: Registered plugin: docker-provider
 INFO manager: Registered plugin: Hyper-V provider
 INFO manager: Registered plugin: VirtualBox provider
 INFO manager: Registered plugin: docker
 INFO manager: Registered plugin: CFEngine Provisioner
 INFO manager: Registered plugin: shell
 INFO manager: Registered plugin: chef
 INFO manager: Registered plugin: salt
 INFO manager: Registered plugin: puppet
 INFO manager: Registered plugin: file
 INFO manager: Registered plugin: ansible
 INFO manager: Registered plugin: BSD host
 INFO manager: Registered plugin: null host
 INFO manager: Registered plugin: SUSE host
 INFO manager: Registered plugin: Void host
 INFO manager: Registered plugin: Slackware host
 INFO manager: Registered plugin: Windows host
 INFO manager: Registered plugin: Gentoo host
 INFO manager: Registered plugin: FreeBSD host
 INFO manager: Registered plugin: Arch host
 INFO manager: Registered plugin: Red Hat Enterprise Linux host
 INFO manager: Registered plugin: ALT Platform host
 INFO manager: Registered plugin: Mac OS X host
 INFO manager: Registered plugin: Linux host
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: snapshot command
 INFO manager: Registered plugin: vagrant-login
 INFO manager: Registered plugin: winrm-config command
 INFO manager: Registered plugin: vagrant-cloud
 INFO manager: Registered plugin: help command
 INFO manager: Registered plugin: ssh-config command
 INFO manager: Registered plugin: upload command
 INFO manager: Registered plugin: init command
 INFO manager: Registered plugin: validate command
 INFO manager: Registered plugin: push command
 INFO manager: Registered plugin: powershell command
 INFO manager: Registered plugin: version command
 INFO manager: Registered plugin: suspend command
 INFO manager: Registered plugin: status command
 INFO manager: Registered plugin: up command
 INFO manager: Registered plugin: rdp command
 INFO manager: Registered plugin: destroy command
 INFO manager: Registered plugin: reload command
 INFO manager: Registered plugin: box command
 INFO manager: Registered plugin: winrm command
 INFO manager: Registered plugin: cap command
 INFO manager: Registered plugin: list-commands command
 INFO manager: Registered plugin: package command
 INFO manager: Registered plugin: plugin command
 INFO manager: Registered plugin: provider command
 INFO manager: Registered plugin: global-status command
 INFO manager: Registered plugin: resume command
 INFO manager: Registered plugin: halt command
 INFO manager: Registered plugin: ssh command
 INFO manager: Registered plugin: port command
 INFO manager: Registered plugin: provision command
 INFO vagrant: `vagrant` invoked: ["up", "--provider", "docker", "--provision"]
 INFO environment: Environment initialized (#<Vagrant::Environment:0x000055e4a12b67c8>)
 INFO environment:   - cwd: /root/code/ProxiBlue/vagrant-communicator-docker-test-case
 INFO environment: Home path: /root/.vagrant.d
 INFO environment: Local data path: /root/code/ProxiBlue/vagrant-communicator-docker-test-case/.vagrant
 INFO manager: Plugins:
 INFO manager:   - vagrant-communicator-docker = [installed: 1.0.11 constraint: > 0]
 INFO manager: Loading plugins...
 INFO manager: Loading plugin `vagrant-communicator-docker` with default require: `vagrant-communicator-docker`
 INFO manager: Registered plugin: Docker Communicator
 INFO manager: Plugins:
 INFO manager:   - vagrant-communicator-docker = [installed: 1.0.11 constraint: > 0]
 INFO manager: Loading plugins...
 INFO manager: Loading plugin `vagrant-communicator-docker` with default require: `vagrant-communicator-docker`
 INFO loader: Set :root = ["#<Pathname:/root/code/ProxiBlue/vagrant-communicator-docker-test-case/Vagrantfile>"]
 INFO loader: Loading configuration in order: [:home, :root]
 INFO environment: Running hook: environment_plugins_loaded
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_plugins_loaded #<Vagrant::Action::Builder:0x000055e4a0cb0220>
 INFO environment: Running hook: environment_load
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_load #<Vagrant::Action::Builder:0x000055e4a0b0ecf0>
 WARN checkpoint_client: checkpoint library not found. disabling.
 INFO cli: CLI: [] "up" ["--provider", "docker", "--provision"]
 INFO command: Active machine found with name default. Using provider: docker
 INFO environment: Getting machine: default (docker)
 INFO environment: Uncached load of machine.
^C INFO interface: info: Exiting due to interrupt.
Exiting due to interrupt.
 INFO environment: Running hook: environment_unload
 INFO host: Autodetecting host type for [#<Vagrant::Environment: /root/code/ProxiBlue/vagrant-communicator-docker-test-case>]
 INFO host: Detected: linux!
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_unload #<Vagrant::Action::Builder:0x000055e4a10bc3c8>
root@checkupdates:~/code/ProxiBlue/vagrant-communicator-docker-test-case# VAGRANT_LOG=info vagrant upload test
 INFO global: Vagrant version: 2.2.3
 INFO global: Ruby version: 2.5.5
 INFO global: RubyGems version: 2.7.6.2
 INFO global: VAGRANT_LOG="info"
 INFO global: VAGRANT_DISABLE_VBOXSYMLINKCREATE="1"
 WARN global: resolv replacement has not been enabled!
 INFO manager: Registered plugin: NixOS guest
 INFO manager: Registered plugin: BSD-based guest
 INFO manager: Registered plugin: Debian guest
 INFO manager: Registered plugin: Solaris 11 guest.
 INFO manager: Registered plugin: Fedora guest
 INFO manager: Registered plugin: SUSE guest
 INFO manager: Registered plugin: Elementary guest
 INFO manager: Registered plugin: TinyCore Linux guest.
 INFO manager: Registered plugin: Haiku guest
 INFO manager: Registered plugin: Trisquel guest
 INFO manager: Registered plugin: PLD Linux guest
 INFO manager: Registered plugin: Mint guest
 INFO manager: Registered plugin: Amazon Linux guest
 INFO manager: Registered plugin: Slackware guest
 INFO manager: Registered plugin: OpenBSD guest
 INFO manager: Registered plugin: Atomic Host guest
 INFO manager: Registered plugin: Ubuntu guest
 INFO manager: Registered plugin: Windows guest.
 INFO manager: Registered plugin: SmartOS guest.
 INFO manager: Registered plugin: NetBSD guest
 INFO manager: Registered plugin: Gentoo guest
 INFO manager: Registered plugin: VMware Photon guest
 INFO manager: Registered plugin: DragonFly BSD guest
 INFO manager: Registered plugin: FreeBSD guest
 INFO manager: Registered plugin: Arch guest
 INFO manager: Registered plugin: Red Hat Enterprise Linux guest
 INFO manager: Registered plugin: Funtoo guest
 INFO manager: Registered plugin: CoreOS guest
 INFO manager: Registered plugin: ALT Platform guest
 INFO manager: Registered plugin: OmniOS guest.
 INFO manager: Registered plugin: Darwin guest
 INFO manager: Registered plugin: ESXi guest.
 INFO manager: Registered plugin: Linux guest.
 INFO manager: Registered plugin: Kali guest
 INFO manager: Registered plugin: Solaris guest.
 INFO manager: Registered plugin: SMB synced folders
 INFO manager: Registered plugin: RSync synced folders
 INFO manager: Registered plugin: NFS synced folders
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: winrm communicator
 INFO manager: Registered plugin: ssh communicator
 INFO manager: Registered plugin: windows ssh communicator
 INFO manager: Registered plugin: local-exec
 INFO manager: Registered plugin: atlas
 INFO manager: Registered plugin: noop
 INFO manager: Registered plugin: heroku
 INFO manager: Registered plugin: ftp
 INFO manager: Registered plugin: docker-provider
 INFO manager: Registered plugin: Hyper-V provider
 INFO manager: Registered plugin: VirtualBox provider
 INFO manager: Registered plugin: docker
 INFO manager: Registered plugin: CFEngine Provisioner
 INFO manager: Registered plugin: shell
 INFO manager: Registered plugin: chef
 INFO manager: Registered plugin: salt
 INFO manager: Registered plugin: puppet
 INFO manager: Registered plugin: file
 INFO manager: Registered plugin: ansible
 INFO manager: Registered plugin: BSD host
 INFO manager: Registered plugin: null host
 INFO manager: Registered plugin: SUSE host
 INFO manager: Registered plugin: Void host
 INFO manager: Registered plugin: Slackware host
 INFO manager: Registered plugin: Windows host
 INFO manager: Registered plugin: Gentoo host
 INFO manager: Registered plugin: FreeBSD host
 INFO manager: Registered plugin: Arch host
 INFO manager: Registered plugin: Red Hat Enterprise Linux host
 INFO manager: Registered plugin: ALT Platform host
 INFO manager: Registered plugin: Mac OS X host
 INFO manager: Registered plugin: Linux host
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: snapshot command
 INFO manager: Registered plugin: vagrant-login
 INFO manager: Registered plugin: winrm-config command
 INFO manager: Registered plugin: vagrant-cloud
 INFO manager: Registered plugin: help command
 INFO manager: Registered plugin: ssh-config command
 INFO manager: Registered plugin: upload command
 INFO manager: Registered plugin: init command
 INFO manager: Registered plugin: validate command
 INFO manager: Registered plugin: push command
 INFO manager: Registered plugin: powershell command
 INFO manager: Registered plugin: version command
 INFO manager: Registered plugin: suspend command
 INFO manager: Registered plugin: status command
 INFO manager: Registered plugin: up command
 INFO manager: Registered plugin: rdp command
 INFO manager: Registered plugin: destroy command
 INFO manager: Registered plugin: reload command
 INFO manager: Registered plugin: box command
 INFO manager: Registered plugin: winrm command
 INFO manager: Registered plugin: cap command
 INFO manager: Registered plugin: list-commands command
 INFO manager: Registered plugin: package command
 INFO manager: Registered plugin: plugin command
 INFO manager: Registered plugin: provider command
 INFO manager: Registered plugin: global-status command
 INFO manager: Registered plugin: resume command
 INFO manager: Registered plugin: halt command
 INFO manager: Registered plugin: ssh command
 INFO manager: Registered plugin: port command
 INFO manager: Registered plugin: provision command
 INFO vagrant: `vagrant` invoked: ["upload", "test"]
 INFO environment: Environment initialized (#<Vagrant::Environment:0x0000555671a0fd08>)
 INFO environment:   - cwd: /root/code/ProxiBlue/vagrant-communicator-docker-test-case
 INFO environment: Home path: /root/.vagrant.d
 INFO environment: Local data path: /root/code/ProxiBlue/vagrant-communicator-docker-test-case/.vagrant
 INFO manager: Plugins:
 INFO manager:   - vagrant-communicator-docker = [installed: 1.0.11 constraint: > 0]
 INFO manager: Loading plugins...
 INFO manager: Loading plugin `vagrant-communicator-docker` with default require: `vagrant-communicator-docker`
 INFO manager: Registered plugin: Docker Communicator
 INFO manager: Plugins:
 INFO manager:   - vagrant-communicator-docker = [installed: 1.0.11 constraint: > 0]
 INFO manager: Loading plugins...
 INFO manager: Loading plugin `vagrant-communicator-docker` with default require: `vagrant-communicator-docker`
 INFO loader: Set :root = ["#<Pathname:/root/code/ProxiBlue/vagrant-communicator-docker-test-case/Vagrantfile>"]
 INFO loader: Loading configuration in order: [:home, :root]
 INFO environment: Running hook: environment_plugins_loaded
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_plugins_loaded #<Vagrant::Action::Builder:0x0000555671451178>
 INFO environment: Running hook: environment_load
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_load #<Vagrant::Action::Builder:0x00005556712892f0>
 WARN checkpoint_client: checkpoint library not found. disabling.
 INFO cli: CLI: [] "upload" ["test"]
 INFO command: Active machine found with name default. Using provider: docker
 INFO environment: Getting machine: default (docker)
 INFO environment: Uncached load of machine.
 INFO loader: Set "46914876891800_machine_default" = []
 INFO loader: Loading configuration in order: [:home, :root, "46914876891800_machine_default"]
 WARN vagrantfile: Failed to locate  with version 
 WARN vagrantfile: Performing lookup with inital values  with version 
 INFO machine: Initializing machine: default
 INFO machine:   - Provider: VagrantPlugins::DockerProvider::Provider
 INFO machine:   - Box: 
 INFO machine:   - Data dir: /root/code/ProxiBlue/vagrant-communicator-docker-test-case/.vagrant/machines/default/docker
 INFO subprocess: Starting process: ["/usr/bin/docker", "ps", "-a", "-q", "--no-trunc"]
 INFO subprocess: Vagrant not running in installer, restoring original environment...
 INFO subprocess: Starting process: ["/usr/bin/docker", "ps", "-q", "--no-trunc"]
 INFO subprocess: Vagrant not running in installer, restoring original environment...
 INFO interface: Machine: metadata ["provider", :docker, {:target=>:default}]
 INFO command: With machine: default (#<VagrantPlugins::DockerProvider::Provider:0x0000555671284688 @logger=#<Log4r::Logger:0x0000555671284340 @fullname="vagrant::provider::docker", @outputters=[], @additive=true, @name="docker", @path="vagrant::provider", @parent=#<VagrantLogger:0x0000555670d22e88 @fullname="vagrant", @outputters=[#<Log4r::StderrOutputter:0x0000555670cf8b38 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0000555670cf8ac0>, @name="stderr", @level=0, @formatter=#<Vagrant::Util::LoggingFormatter:0x000055567104aa48 @formatter=#<Log4r::BasicFormatter:0x0000555670cec888 @depth=7>>, @out=#<IO:<STDERR>>>], @additive=true, @name="vagrant", @path="", @parent=#<Log4r::RootLogger:0x0000555670d22d48 @level=0, @outputters=[]>, @level=2, @trace=false>, @level=2, @trace=false>, @machine=#<Vagrant::Machine: default (VagrantPlugins::DockerProvider::Provider)>, @cap_logger=#<Log4r::Logger:0x00005556711fdfc0 @fullname="vagrant::capability_host::vagrantplugins::dockerprovider::provider", @outputters=[], @additive=true, @name="provider", @path="vagrant::capability_host::vagrantplugins::dockerprovider", @parent=#<VagrantLogger:0x0000555670d22e88 @fullname="vagrant", @outputters=[#<Log4r::StderrOutputter:0x0000555670cf8b38 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0000555670cf8ac0>, @name="stderr", @level=0, @formatter=#<Vagrant::Util::LoggingFormatter:0x000055567104aa48 @formatter=#<Log4r::BasicFormatter:0x0000555670cec888 @depth=7>>, @out=#<IO:<STDERR>>>], @additive=true, @name="vagrant", @path="", @parent=#<Log4r::RootLogger:0x0000555670d22d48 @level=0, @outputters=[]>, @level=2, @trace=false>, @level=2, @trace=false>, @cap_host_chain=[[:docker, #<#<Class:0x00005556711ff578>:0x00005556710adf30>]], @cap_args=[#<Vagrant::Machine: default (VagrantPlugins::DockerProvider::Provider)>], @cap_caps={:docker=>#<Vagrant::Registry:0x00005556711ff050 @items={:public_address=>#<Proc:0x000055567102cca0@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/docker/plugin.rb:60>, :proxy_machine=>#<Proc:0x000055567102c890@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/docker/plugin.rb:65>}, @results_cache={}>, :hyperv=>#<Vagrant::Registry:0x00005556711fef60 @items={:public_address=>#<Proc:0x0000555670feb278@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/hyperv/plugin.rb:25>, :snapshot_list=>#<Proc:0x0000555670feb0c0@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/hyperv/plugin.rb:30>}, @results_cache={}>, :virtualbox=>#<Vagrant::Registry:0x00005556711fed58 @items={:forwarded_ports=>#<Proc:0x0000555670f93d48@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/plugin.rb:27>, :nic_mac_addresses=>#<Proc:0x0000555670f93d20@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/plugin.rb:32>, :public_address=>#<Proc:0x0000555670f93cf8@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/plugin.rb:37>, :snapshot_list=>#<Proc:0x0000555670f93c58@/usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/plugin.rb:42>}, @results_cache={}>}, @driver=#<VagrantPlugins::DockerProvider::Driver:0x0000555670dfb990 @logger=#<Log4r::Logger:0x0000555670dfb828 @fullname="vagrant::docker::driver", @outputters=[], @additive=true, @name="driver", @path="vagrant::docker", @parent=#<VagrantLogger:0x0000555670d22e88 @fullname="vagrant", @outputters=[#<Log4r::StderrOutputter:0x0000555670cf8b38 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0000555670cf8ac0>, @name="stderr", @level=0, @formatter=#<Vagrant::Util::LoggingFormatter:0x000055567104aa48 @formatter=#<Log4r::BasicFormatter:0x0000555670cec888 @depth=7>>, @out=#<IO:<STDERR>>>], @additive=true, @name="vagrant", @path="", @parent=#<Log4r::RootLogger:0x0000555670d22d48 @level=0, @outputters=[]>, @level=2, @trace=false>, @level=2, @trace=false>, @executor=#<VagrantPlugins::DockerProvider::Executor::Local:0x0000555670cd9df0>>>)
 INFO interface: info: Uploading test to test
Uploading test to test
 INFO environment: Running hook: environment_unload
 INFO host: Autodetecting host type for [#<Vagrant::Environment: /root/code/ProxiBlue/vagrant-communicator-docker-test-case>]
 INFO host: Detected: linux!
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_unload #<Vagrant::Action::Builder:0x00005556719f64c0>
Traceback (most recent call last):
    10: from /usr/bin/vagrant:23:in `<main>'
     9: from /usr/bin/vagrant:23:in `load'
     8: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/bin/vagrant:177:in `<top (required)>'
     7: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/environment.rb:291:in `cli'
     6: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/cli.rb:58:in `execute'
     5: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/commands/upload/command.rb:69:in `execute'
     4: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/plugin/v2/command.rb:232:in `with_target_vms'
     3: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/plugin/v2/command.rb:232:in `each'
     2: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/plugin/v2/command.rb:238:in `block in with_target_vms'
     1: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/commands/upload/command.rb:104:in `block in execute'
/root/code/ProxiBlue/vagrant-communicator-docker-test-case/.vagrant/plugins/gems/2.5.5/gems/vagrant-communicator-docker-1.0.11/lib/vagrant-communicator-docker/vagrant-communicator-docker.rb:97:in `upload': undefined method `archive_in' for nil:NilClass (NoMethodError)
ProxiBlue commented 2 years ago

The line of code in question:

@container.archive_in(from, File.dirname(to), overwrite: true)

and the error undefined method archive_in' for nil:NilClass tells me issue seems to be that the @container object (ie, the connection to the docker instance) is not active/invoked.

So, it is trying to call 'archive_in' on a NULL object

ProxiBlue commented 2 years ago
22:08 $ vagrant upload test_exec.sh 
Uploading test_exec.sh to test_exec.sh
Upload has completed successfully!

  Source: test_exec.sh
  Destination: test_exec.sh

1.0.12 released to fix this

eighthave commented 2 years ago

Yup, works for me! Thanks