mini_portile2 2.5.0 → 2.5.1

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: 719a798ea56a6b28c09752acb391d218edf96f7b355c8d618b7859d9c72b8280
4
- data.tar.gz: 88bdcc69362b1ac3584e7565021c4a1991a05691789cba8456cb90df8a1615eb
3
+ metadata.gz: 1f30e371678c82b2de1219ec842fa298bf1e6acc47b2f210ebfda77939aed190
4
+ data.tar.gz: 7ac927dc6453bf1532db4e55677cebefa115b17fffc43358ef68b8d80c967210
5
5
  SHA512:
6
- metadata.gz: b374d78b1a9381ef4b8e1984a6b3a6f836e06a25679251722b3983a17b818263e074e8ef8826bdd1f8ccb0c9f57301b1d5d2ee63f7f793eb97ecfec3ee5fc8f8
7
- data.tar.gz: 39f33f93bb4f1aef92a5cadc55d945523a0d0229669855dee9abf4f2daf5b0f4a4e25694da39766664374d42cc115cd5fc899d1ba82d3d06a40bb0d3a15b8019
6
+ metadata.gz: df62e128fdb0a950c7f6eb45ba97bdab7793b6e8b6e4a139dd5fe93913bffee194a5505114dfe421f6d64efb25ad17215eb8f1ecd8fdc1d40969aa2b888bebee
7
+ data.tar.gz: c05f9262bdbb32fcdcda598c8ae0f16962219f39306ae9d4433b1e13af6e2c2ec181c33864ee99284ebe5f82828940ce3d96a9bb9a4ce00947ab56b7d3699252
@@ -0,0 +1 @@
1
+ tidelift: "rubygems/mini_portile2"
@@ -0,0 +1,62 @@
1
+ name: Continuous Integration
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ types: [opened, synchronize]
8
+ branches: [main]
9
+ schedule:
10
+ - cron: "0 8 * * 5" # At 08:00 on Friday # https://crontab.guru/#0_8_*_*_5
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ test-unit:
15
+ env:
16
+ MAKEFLAGS: -j2
17
+ strategy:
18
+ matrix:
19
+ platform: [ubuntu-latest, windows-latest]
20
+ ruby: ["2.5", "2.6", "2.7", "3.0"]
21
+ runs-on: ${{ matrix.platform }}
22
+ steps:
23
+ - name: configure git crlf on windows
24
+ if: matrix.platform == 'windows-latest'
25
+ run: |
26
+ git config --system core.autocrlf false
27
+ git config --system core.eol lf
28
+ - uses: actions/checkout@v2
29
+ - uses: MSP-Greg/setup-ruby-pkgs@v1
30
+ with:
31
+ apt-get: _update_ build-essential cmake
32
+ mingw: _upgrade_ cmake
33
+ ruby-version: ${{ matrix.ruby }}
34
+ bundler-cache: true
35
+ - run: bundle exec rake test:unit
36
+
37
+ test-examples:
38
+ env:
39
+ MAKEFLAGS: -j2
40
+ strategy:
41
+ matrix:
42
+ platform: [ubuntu-latest, windows-latest]
43
+ ruby: ["3.0"]
44
+ runs-on: ${{ matrix.platform }}
45
+ steps:
46
+ - name: configure git crlf on windows
47
+ if: matrix.platform == 'windows-latest'
48
+ run: |
49
+ git config --system core.autocrlf false
50
+ git config --system core.eol lf
51
+ - uses: actions/checkout@v2
52
+ - uses: MSP-Greg/setup-ruby-pkgs@v1
53
+ with:
54
+ apt-get: _update_ build-essential cmake
55
+ mingw: _upgrade_ cmake
56
+ ruby-version: ${{ matrix.ruby }}
57
+ bundler-cache: true
58
+ - uses: actions/cache@v2
59
+ with:
60
+ path: examples/ports/archives
61
+ key: ${{ matrix.platform }}-examples-${{ hashFiles('examples/Rakefile') }}
62
+ - run: bundle exec rake test:examples
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
- pkg
2
- tmp
3
- Gemfile.lock
4
1
  .bundle
2
+ Gemfile.lock
3
+ pkg
5
4
  ports
6
- concourse/private.yml
5
+ tmp
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## mini_portile changelog
2
+
3
+ ### 2.5.1 / 2021-04-28
4
+
5
+ #### Dependencies
6
+
7
+ This release ends support for ruby < 2.3.0. If you're on 2.2.x or earlier, we strongly suggest that you find the time to upgrade, because [official support for Ruby 2.2 ended on 2018-03-31](https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/).
8
+
9
+ #### Enhancements
10
+
11
+ * `MiniPortile.execute` now takes an optional `:env` hash, which is merged into the environment variables for the subprocess. Likely this is only useful for specialized use cases. [#99]
12
+ * Experimental support for cmake-based projects extended to Windows. (Thanks, @larskanis!)
13
+
14
+
1
15
  ### 2.5.0 / 2020-02-24
2
16
 
3
17
  #### Enhancements
data/README.md CHANGED
@@ -5,8 +5,8 @@ renamed to `mini_portile2`. For mini_portile versions 0.6.x and
5
5
  previous, please visit
6
6
  [the v0.6.x branch](https://github.com/flavorjones/mini_portile/tree/v0.6.x).
7
7
 
8
- [![travis status](https://travis-ci.org/flavorjones/mini_portile.svg?branch=master)](https://travis-ci.org/flavorjones/mini_portile?branch=master)
9
- [![appveyor status](https://ci.appveyor.com/api/projects/status/509669xx1qlhqqab/branch/master?svg=true)](https://ci.appveyor.com/project/flavorjones/mini-portile/branch/master)
8
+ [![Continuous Integration](https://github.com/flavorjones/mini_portile/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/flavorjones/mini_portile/actions/workflows/ci.yml)
9
+ [![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/mini_portile2)](https://tidelift.com/subscription/pkg/rubygems-mini.portile2?utm_source=undefined&utm_medium=referral&utm_campaign=readme)
10
10
 
11
11
  * Documentation: http://www.rubydoc.info/github/flavorjones/mini_portile
12
12
  * Source Code: https://github.com/flavorjones/mini_portile
@@ -240,6 +240,22 @@ toolchain. This has been tested against Ubuntu, OSX and even Windows
240
240
  (RubyInstaller with DevKit)
241
241
 
242
242
 
243
+ ## Support
244
+
245
+ The bug tracker is available here:
246
+
247
+ * https://github.com/flavorjones/mini_portile/issues
248
+
249
+ Consider subscribing to [Tidelift][tidelift] which provides license assurances and timely security notifications for your open source dependencies, including Loofah. [Tidelift][tidelift] subscriptions also help the Loofah maintainers fund our [automated testing](https://ci.nokogiri.org) which in turn allows us to ship releases, bugfixes, and security updates more often.
250
+
251
+ [tidelift]: https://tidelift.com/subscription/pkg/rubygems-mini.portile2?utm_source=rubygems-mini.portile2&utm_medium=referral&utm_campaign=enterprise
252
+
253
+
254
+ ## Security
255
+
256
+ See [`SECURITY.md`](SECURITY.md) for vulnerability reporting details.
257
+
258
+
243
259
  ## License
244
260
 
245
261
  This library is licensed under MIT license. Please see LICENSE.txt for details.
data/Rakefile CHANGED
@@ -23,9 +23,3 @@ desc "Run all tests"
23
23
  task :test => ["test:unit", "test:examples"]
24
24
 
25
25
  task :default => [:test]
26
-
27
- require "concourse"
28
- Concourse.new("mini_portile", fly_target: "ci") do |c|
29
- c.add_pipeline "mini_portile", "mini_portile.yml"
30
- c.add_pipeline "mini_portile-pr", "mini_portile-pr.yml"
31
- end
data/SECURITY.md ADDED
@@ -0,0 +1,13 @@
1
+ # Security and Vulnerability Reporting
2
+
3
+ The mini_portile core contributors take security very seriously and investigate all reported vulnerabilities.
4
+
5
+ If you would like to report a vulnerablity or have a security concern regarding mini_portile, please [report it via Tidelift](https://tidelift.com/security).
6
+
7
+ Your report will be acknowledged within 48 hours, and you'll receive a more detailed response within 96 hours indicating next steps in handling your report.
8
+
9
+ If you have not received a reply to your submission within 96 hours, Contact the current security coordinator, Mike Dalessio <mike.dalessio@gmail.com>.
10
+
11
+ The information you share with the mini_portile core contributors as part of this process will be kept confidential within the team, unless or until we need to share information upstream with our dependent libraries' core teams, at which point we will notify you.
12
+
13
+ If a vulnerability is first reported by you, we will credit you with the discovery in the public disclosure.
@@ -34,7 +34,17 @@ class MiniPortile
34
34
  attr_accessor :host, :files, :patch_files, :target, :logger
35
35
 
36
36
  def self.windows?
37
- RbConfig::CONFIG['target_os'] =~ /mswin|mingw32/
37
+ RbConfig::CONFIG['target_os'] =~ /mswin|mingw/
38
+ end
39
+
40
+ # GNU MinGW compiled Ruby?
41
+ def self.mingw?
42
+ RbConfig::CONFIG['target_os'] =~ /mingw/
43
+ end
44
+
45
+ # MS Visual-C compiled Ruby?
46
+ def self.mswin?
47
+ RbConfig::CONFIG['target_os'] =~ /mswin/
38
48
  end
39
49
 
40
50
  def initialize(name, version)
@@ -370,24 +380,36 @@ private
370
380
  execute('extract', [tar_exe, "#{tar_compression_switch(filename)}xf", file, "-C", target], {:cd => Dir.pwd, :initial_message => false})
371
381
  end
372
382
 
373
- def execute(action, command, options={})
374
- log_out = log_file(action)
383
+ # command could be an array of args, or one string containing a command passed to the shell. See
384
+ # Process.spawn for more information.
385
+ def execute(action, command, command_opts={})
386
+ opt_message = command_opts.fetch(:initial_message, true)
387
+ opt_debug = command_opts.fetch(:debug, false)
388
+ opt_cd = command_opts.fetch(:cd) { work_path }
389
+ opt_env = command_opts.fetch(:env) { Hash.new }
375
390
 
376
- Dir.chdir (options.fetch(:cd){ work_path }) do
377
- if options.fetch(:initial_message){ true }
378
- message "Running '#{action}' for #{@name} #{@version}... "
379
- end
391
+ log_out = log_file(action)
392
+
393
+ Dir.chdir(opt_cd) do
394
+ output "DEBUG: env is #{opt_env.inspect}" if opt_debug
395
+ output "DEBUG: command is #{command.inspect}" if opt_debug
396
+ message "Running '#{action}' for #{@name} #{@version}... " if opt_message
380
397
 
381
398
  if Process.respond_to?(:spawn) && ! RbConfig.respond_to?(:java)
382
- args = [command].flatten + [{[:out, :err]=>[log_out, "a"]}]
399
+ options = {[:out, :err]=>[log_out, "a"]}
400
+ output "DEBUG: options are #{options.inspect}" if opt_debug
401
+ args = [opt_env, command, options].flatten
383
402
  pid = spawn(*args)
384
403
  Process.wait(pid)
385
404
  else
386
- redirected = if command.kind_of?(Array)
387
- %Q{#{command.map(&:shellescape).join(" ")} > #{log_out.shellescape} 2>&1}
388
- else
389
- %Q{#{command} > #{log_out.shellescape} 2>&1}
390
- end
405
+ env_args = opt_env.map { |k,v| "#{k}=#{v}".shellescape }.join(" ")
406
+ c = if command.kind_of?(Array)
407
+ command.map(&:shellescape).join(" ")
408
+ else
409
+ command
410
+ end
411
+ redirected = %Q{env #{env_args} #{c} > #{log_out.shellescape} 2>&1}
412
+ output "DEBUG: final command is #{redirected.inspect}" if opt_debug
391
413
  system redirected
392
414
  end
393
415
 
@@ -6,8 +6,10 @@ class MiniPortileCMake < MiniPortile
6
6
  end
7
7
 
8
8
  def configure_defaults
9
- if MiniPortile.windows?
10
- ['-G "NMake Makefiles"']
9
+ if MiniPortile.mswin?
10
+ ['-G', 'NMake Makefiles']
11
+ elsif MiniPortile.mingw?
12
+ ['-G', 'MSYS Makefiles']
11
13
  else
12
14
  []
13
15
  end
@@ -34,7 +36,7 @@ class MiniPortileCMake < MiniPortile
34
36
  end
35
37
 
36
38
  def make_cmd
37
- return "nmake" if MiniPortile.windows?
39
+ return "nmake" if MiniPortile.mswin?
38
40
  super
39
41
  end
40
42
  end
@@ -1,3 +1,3 @@
1
1
  class MiniPortile
2
- VERSION = "2.5.0"
2
+ VERSION = "2.5.1"
3
3
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.summary = "Simplistic port-like solution for developers"
14
14
  spec.description = "Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system."
15
15
 
16
- spec.homepage = "http://github.com/flavorjones/mini_portile"
16
+ spec.homepage = "https://github.com/flavorjones/mini_portile"
17
17
  spec.licenses = ["MIT"]
18
18
 
19
19
  begin
@@ -31,12 +31,12 @@ Gem::Specification.new do |spec|
31
31
  spec.test_files = spec.files.grep(%r{^(test|spec|features|examples)/})
32
32
  spec.require_paths = ["lib"]
33
33
 
34
- spec.add_development_dependency "bundler", "~> 2.1.4"
35
- spec.add_development_dependency "rake", "~> 12.0"
34
+ spec.add_development_dependency "bundler", "~> 2.1"
35
+ spec.add_development_dependency "minitar", "~> 0.7"
36
36
  spec.add_development_dependency "minitest", "~> 5.11"
37
37
  spec.add_development_dependency "minitest-hooks", "~> 1.5.0"
38
- spec.add_development_dependency "minitar", "~> 0.7"
39
- spec.add_development_dependency "concourse", "~> 0.16"
38
+ spec.add_development_dependency "rake", "~> 13.0"
39
+ spec.add_development_dependency "webrick", "~> 1.0"
40
40
 
41
- spec.required_ruby_version = ">= 1.9.2"
41
+ spec.required_ruby_version = ">= 2.3.0"
42
42
  end
data/test/test_cmake.rb CHANGED
@@ -5,8 +5,6 @@ class TestCMake < TestCase
5
5
 
6
6
  def before_all
7
7
  super
8
- return if MiniPortile.windows?
9
-
10
8
  @assets_path = File.expand_path("../assets", __FILE__)
11
9
  @tar_path = File.expand_path("../../tmp/test-cmake-1.0.tar.gz", __FILE__)
12
10
 
@@ -19,7 +17,6 @@ class TestCMake < TestCase
19
17
  @recipe = MiniPortileCMake.new("test-cmake", "1.0").tap do |recipe|
20
18
  recipe.files << "http://localhost:#{HTTP_PORT}/#{ERB::Util.url_encode(File.basename(@tar_path))}"
21
19
  recipe.patch_files << File.join(@assets_path, "patch 1.diff")
22
- recipe.configure_options << "--option=\"path with 'space'\""
23
20
  git_dir = File.join(@assets_path, "git")
24
21
  with_custom_git_dir(git_dir) do
25
22
  recipe.cook
@@ -29,19 +26,22 @@ class TestCMake < TestCase
29
26
 
30
27
  def after_all
31
28
  super
32
- return if MiniPortile.windows?
33
-
34
29
  stop_webrick
35
30
  # leave test files for inspection
36
31
  end
37
32
 
33
+ def exe_name
34
+ case
35
+ when MiniPortile.windows? then "hello.exe"
36
+ else "hello"
37
+ end
38
+ end
39
+
38
40
  def test_cmake_inherits_from_base
39
41
  assert(MiniPortileCMake <= MiniPortile)
40
42
  end
41
43
 
42
44
  def test_configure
43
- skip if MiniPortile.windows?
44
-
45
45
  cmakecache = File.join(work_dir, "CMakeCache.txt")
46
46
  assert File.exist?(cmakecache), cmakecache
47
47
 
@@ -49,16 +49,12 @@ class TestCMake < TestCase
49
49
  end
50
50
 
51
51
  def test_compile
52
- skip if MiniPortile.windows?
53
-
54
- binary = File.join(work_dir, "hello")
52
+ binary = File.join(work_dir, exe_name)
55
53
  assert File.exist?(binary), binary
56
54
  end
57
55
 
58
56
  def test_install
59
- skip if MiniPortile.windows?
60
-
61
- binary = File.join(recipe.path, "bin", "hello")
57
+ binary = File.join(recipe.path, "bin", exe_name)
62
58
  assert File.exist?(binary), binary
63
59
  end
64
60
  end
@@ -0,0 +1,39 @@
1
+ require_relative "helper"
2
+
3
+ class TestExecute < TestCase
4
+ def setup
5
+ super
6
+ @env = {"TEST_ENV_VAR1" => "VAR1_VALUE", "TEST_ENV_VAR2" => "VAR2_VALUE"}
7
+ @recipe = MiniPortile.new("test_execute", "1.0.0")
8
+ @log_path = @recipe.send(:tmp_path)
9
+ FileUtils.mkdir_p File.join(@log_path, "subdir") # normally created by `download`
10
+ end
11
+
12
+ def test_execute_one_big_string_arg
13
+ class << @recipe
14
+ def execute_with_env(env)
15
+ execute("testenv1",
16
+ %Q(ruby -e "puts ENV['TEST_ENV_VAR1'].inspect ; exit 0"),
17
+ {:env => env, :initial_message => false, :debug => true})
18
+ end
19
+ end
20
+
21
+ @recipe.execute_with_env(@env)
22
+
23
+ assert_equal("VAR1_VALUE".inspect, IO.read(File.join(@log_path, "testenv1.log")).chomp)
24
+ end
25
+
26
+ def test_execute_array_args
27
+ class << @recipe
28
+ def execute_with_env(env)
29
+ execute("testenv2",
30
+ ["ruby", "-e", "puts ENV['TEST_ENV_VAR2'].inspect"],
31
+ {:env => env, :initial_message => false, :debug => true})
32
+ end
33
+ end
34
+
35
+ @recipe.execute_with_env(@env)
36
+
37
+ assert_equal("VAR2_VALUE".inspect, IO.read(File.join(@log_path, "testenv2.log")).chomp)
38
+ end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_portile2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Lavena
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-02-24 00:00:00.000000000 Z
13
+ date: 2021-04-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 2.1.4
21
+ version: '2.1'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 2.1.4
28
+ version: '2.1'
29
29
  - !ruby/object:Gem::Dependency
30
- name: rake
30
+ name: minitar
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '12.0'
35
+ version: '0.7'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '12.0'
42
+ version: '0.7'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: minitest
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -69,33 +69,33 @@ dependencies:
69
69
  - !ruby/object:Gem::Version
70
70
  version: 1.5.0
71
71
  - !ruby/object:Gem::Dependency
72
- name: minitar
72
+ name: rake
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '0.7'
77
+ version: '13.0'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '0.7'
84
+ version: '13.0'
85
85
  - !ruby/object:Gem::Dependency
86
- name: concourse
86
+ name: webrick
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0.16'
91
+ version: '1.0'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '0.16'
98
+ version: '1.0'
99
99
  description: Simplistic port-like solution for developers. It provides a standard
100
100
  and simplified way to compile against dependency libraries without messing up your
101
101
  system.
@@ -104,24 +104,15 @@ executables: []
104
104
  extensions: []
105
105
  extra_rdoc_files: []
106
106
  files:
107
- - ".concourse.yml"
107
+ - ".github/FUNDING.yml"
108
+ - ".github/workflows/ci.yml"
108
109
  - ".gitignore"
109
- - ".travis.yml"
110
110
  - CHANGELOG.md
111
111
  - Gemfile
112
112
  - LICENSE.txt
113
113
  - README.md
114
114
  - Rakefile
115
- - appveyor.yml
116
- - concourse/common_prelude.rb
117
- - concourse/common_resources.yml
118
- - concourse/docker-compose.yml
119
- - concourse/mini_portile-pr.yml
120
- - concourse/mini_portile-pr.yml.generated
121
- - concourse/mini_portile.yml
122
- - concourse/mini_portile.yml.generated
123
- - concourse/tasks/rake-test/task.ps1
124
- - concourse/tasks/rake-test/task.sh
115
+ - SECURITY.md
125
116
  - lib/mini_portile2.rb
126
117
  - lib/mini_portile2/mini_portile.rb
127
118
  - lib/mini_portile2/mini_portile_cmake.rb
@@ -141,8 +132,9 @@ files:
141
132
  - test/test_cook.rb
142
133
  - test/test_digest.rb
143
134
  - test/test_download.rb
135
+ - test/test_execute.rb
144
136
  - test/test_proxy.rb
145
- homepage: http://github.com/flavorjones/mini_portile
137
+ homepage: https://github.com/flavorjones/mini_portile
146
138
  licenses:
147
139
  - MIT
148
140
  metadata: {}
@@ -154,14 +146,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
146
  requirements:
155
147
  - - ">="
156
148
  - !ruby/object:Gem::Version
157
- version: 1.9.2
149
+ version: 2.3.0
158
150
  required_rubygems_version: !ruby/object:Gem::Requirement
159
151
  requirements:
160
152
  - - ">="
161
153
  - !ruby/object:Gem::Version
162
154
  version: '0'
163
155
  requirements: []
164
- rubygems_version: 3.1.2
156
+ rubygems_version: 3.1.4
165
157
  signing_key:
166
158
  specification_version: 4
167
159
  summary: Simplistic port-like solution for developers
@@ -180,4 +172,5 @@ test_files:
180
172
  - test/test_cook.rb
181
173
  - test/test_digest.rb
182
174
  - test/test_download.rb
175
+ - test/test_execute.rb
183
176
  - test/test_proxy.rb
data/.concourse.yml DELETED
@@ -1,83 +0,0 @@
1
- ---
2
- resources:
3
- - name: mini_portile
4
- type: git
5
- source:
6
- uri: https://github.com/flavorjones/mini_portile
7
- branch: master
8
- jobs:
9
- - name: "Minitest"
10
- plan:
11
- - get: mini_portile
12
- - task: With version 1.9.3
13
- config:
14
- platform: linux
15
- image: docker:///ruby#1.9.3
16
- inputs:
17
- - name: mini_portile
18
- run:
19
- path: bash
20
- args:
21
- - "-c"
22
- - cd mini_portile && bundle install && rake
23
- privileged: false
24
- - task: With version 2.0
25
- config:
26
- platform: linux
27
- image: docker:///ruby#2.0
28
- inputs:
29
- - name: mini_portile
30
- run:
31
- path: bash
32
- args:
33
- - "-c"
34
- - cd mini_portile && bundle install && rake
35
- privileged: false
36
- - task: With version 2.1
37
- config:
38
- platform: linux
39
- image: docker:///ruby#2.1
40
- inputs:
41
- - name: mini_portile
42
- run:
43
- path: bash
44
- args:
45
- - "-c"
46
- - cd mini_portile && bundle install && rake
47
- privileged: false
48
- - task: With version 2.2
49
- config:
50
- platform: linux
51
- image: docker:///ruby#2.2
52
- inputs:
53
- - name: mini_portile
54
- run:
55
- path: bash
56
- args:
57
- - "-c"
58
- - cd mini_portile && bundle install && rake
59
- privileged: false
60
- - task: With version jruby-1.7.23
61
- config:
62
- platform: linux
63
- image: docker:///jruby#1.7.23
64
- inputs:
65
- - name: mini_portile
66
- run:
67
- path: bash
68
- args:
69
- - "-c"
70
- - cd mini_portile && bundle install && rake
71
- privileged: false
72
- - task: With version jruby-9.0.4.0
73
- config:
74
- platform: linux
75
- image: docker:///jruby#9.0.4.0
76
- inputs:
77
- - name: mini_portile
78
- run:
79
- path: bash
80
- args:
81
- - "-c"
82
- - cd mini_portile && bundle install && rake
83
- privileged: false
data/.travis.yml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- language: ruby
3
- sudo: false
4
- matrix:
5
- include:
6
- - rvm: 1.9.3
7
- - rvm: 2.0
8
- - rvm: 2.1
9
- - rvm: 2.2.5
10
- - rvm: 2.3.1
11
- - rvm: 2.4.0
12
- env:
13
- - RUBYOPT="--enable-frozen-string-literal --debug=frozen-string-literal"
14
- - rvm: jruby-1.7
15
- - rvm: jruby-9.1.5.0
data/appveyor.yml DELETED
@@ -1,25 +0,0 @@
1
- ---
2
- install:
3
- - ps: ((New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt', "$env:TMP\ca-bundle.crt"))
4
- - SET SSL_CERT_FILE=%TMP%\ca-bundle.crt
5
- - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
6
- - SET RAKEOPT=-rdevkit
7
- - ruby --version
8
- - gem --version
9
- - bundle install
10
- - gpg --version
11
-
12
- build: off
13
-
14
- test_script:
15
- - bundle exec rake
16
-
17
- environment:
18
- matrix:
19
- - ruby_version: "22-x64"
20
- - ruby_version: "22"
21
- - ruby_version: "21-x64"
22
- - ruby_version: "21"
23
- - ruby_version: "200-x64"
24
- - ruby_version: "200"
25
- - ruby_version: "193"
@@ -1,7 +0,0 @@
1
- require "json"
2
-
3
- $common_ignore_paths = [
4
- "CHANGELOG.md",
5
- "README.md",
6
- "concourse/**",
7
- ].to_json
@@ -1,6 +0,0 @@
1
- - name: ci
2
- type: git
3
- source:
4
- uri: https://github.com/flavorjones/mini_portile/
5
- branch: master
6
- disable_ci_skip: true # always get the latest pipeline configuration
@@ -1,26 +0,0 @@
1
- version: '3'
2
-
3
- services:
4
- concourse-db:
5
- image: postgres
6
- environment:
7
- POSTGRES_DB: concourse
8
- POSTGRES_PASSWORD: concourse_pass
9
- POSTGRES_USER: concourse_user
10
- PGDATA: /database
11
-
12
- concourse:
13
- image: concourse/concourse
14
- command: quickstart
15
- privileged: true
16
- depends_on: [concourse-db]
17
- ports: ["8080:8080"]
18
- environment:
19
- CONCOURSE_POSTGRES_HOST: concourse-db
20
- CONCOURSE_POSTGRES_USER: concourse_user
21
- CONCOURSE_POSTGRES_PASSWORD: concourse_pass
22
- CONCOURSE_POSTGRES_DATABASE: concourse
23
- CONCOURSE_EXTERNAL_URL: http://localhost:8080
24
- CONCOURSE_ADD_LOCAL_USER: test:test
25
- CONCOURSE_MAIN_TEAM_LOCAL_USER: test
26
- CONCOURSE_WORKER_BAGGAGECLAIM_DRIVER: overlay
@@ -1,69 +0,0 @@
1
- % require "common_prelude.rb"
2
-
3
- resource_types:
4
- - name: pull-request
5
- type: docker-image
6
- source:
7
- repository: jtarchie/pr
8
-
9
- resources:
10
- <%= erbify_file "common_resources.yml" -%>
11
- - name: mini_portile-pr
12
- type: pull-request
13
- source:
14
- repo: flavorjones/mini_portile
15
- access_token: ((github-repo-status-access-token))
16
- ignore_paths: <%= $common_ignore_paths %>
17
-
18
- jobs:
19
- - name: pr-pending
20
- public: true
21
- plan:
22
- - get: ci
23
- - get: mini_portile-pr
24
- trigger: true
25
- version: every
26
- - put: mini_portile-pr
27
- params: {path: mini_portile-pr, status: pending}
28
-
29
- % RUBIES[:mri].last(2).each do |ruby_version|
30
- - name: ruby-<%= ruby_version %>-pr
31
- public: true
32
- serial_groups: [pr]
33
- plan:
34
- - get: ci
35
- - get: mini_portile-pr
36
- trigger: true
37
- version: every
38
- passed: [pr-pending]
39
- - task: rake-test
40
- config:
41
- platform: linux
42
- image_resource:
43
- type: registry-image
44
- source: {repository: ruby, tag: "<%= ruby_version %>"}
45
- inputs:
46
- - name: ci
47
- - name: mini_portile-pr
48
- path: mini_portile
49
- run:
50
- path: ci/concourse/tasks/rake-test/task.sh
51
- on_failure:
52
- put: mini_portile-pr
53
- params: {path: mini_portile-pr, status: failure}
54
- % end
55
-
56
- - name: pr-success
57
- public: true
58
- serial_groups: [pr]
59
- disable_manual_trigger: true
60
- plan:
61
- - get: mini_portile-pr
62
- trigger: true
63
- version: every
64
- passed:
65
- % RUBIES[:mri].last(2).each do |ruby_version|
66
- - ruby-<%= ruby_version %>-pr
67
- % end
68
- - put: mini_portile-pr
69
- params: {path: mini_portile-pr, status: success}
@@ -1,94 +0,0 @@
1
-
2
- resource_types:
3
- - name: pull-request
4
- type: docker-image
5
- source:
6
- repository: jtarchie/pr
7
-
8
- resources:
9
- - name: ci
10
- type: git
11
- source:
12
- uri: https://github.com/flavorjones/mini_portile/
13
- branch: master
14
- disable_ci_skip: true # always get the latest pipeline configuration
15
- - name: mini_portile-pr
16
- type: pull-request
17
- source:
18
- repo: flavorjones/mini_portile
19
- access_token: ((github-repo-status-access-token))
20
- ignore_paths: ["CHANGELOG.md","README.md","concourse/**"]
21
-
22
- jobs:
23
- - name: pr-pending
24
- public: true
25
- plan:
26
- - get: ci
27
- - get: mini_portile-pr
28
- trigger: true
29
- version: every
30
- - put: mini_portile-pr
31
- params: {path: mini_portile-pr, status: pending}
32
-
33
- - name: ruby-2.6-pr
34
- public: true
35
- serial_groups: [pr]
36
- plan:
37
- - get: ci
38
- - get: mini_portile-pr
39
- trigger: true
40
- version: every
41
- passed: [pr-pending]
42
- - task: rake-test
43
- config:
44
- platform: linux
45
- image_resource:
46
- type: registry-image
47
- source: {repository: ruby, tag: "2.6"}
48
- inputs:
49
- - name: ci
50
- - name: mini_portile-pr
51
- path: mini_portile
52
- run:
53
- path: ci/concourse/tasks/rake-test/task.sh
54
- on_failure:
55
- put: mini_portile-pr
56
- params: {path: mini_portile-pr, status: failure}
57
- - name: ruby-2.7-pr
58
- public: true
59
- serial_groups: [pr]
60
- plan:
61
- - get: ci
62
- - get: mini_portile-pr
63
- trigger: true
64
- version: every
65
- passed: [pr-pending]
66
- - task: rake-test
67
- config:
68
- platform: linux
69
- image_resource:
70
- type: registry-image
71
- source: {repository: ruby, tag: "2.7"}
72
- inputs:
73
- - name: ci
74
- - name: mini_portile-pr
75
- path: mini_portile
76
- run:
77
- path: ci/concourse/tasks/rake-test/task.sh
78
- on_failure:
79
- put: mini_portile-pr
80
- params: {path: mini_portile-pr, status: failure}
81
-
82
- - name: pr-success
83
- public: true
84
- serial_groups: [pr]
85
- disable_manual_trigger: true
86
- plan:
87
- - get: mini_portile-pr
88
- trigger: true
89
- version: every
90
- passed:
91
- - ruby-2.6-pr
92
- - ruby-2.7-pr
93
- - put: mini_portile-pr
94
- params: {path: mini_portile-pr, status: success}
@@ -1,31 +0,0 @@
1
- % require "common_prelude.rb"
2
-
3
- resources:
4
- <%= erbify_file "common_resources.yml" -%>
5
- - name: mini_portile
6
- type: git
7
- source:
8
- uri: https://github.com/flavorjones/mini_portile/
9
- branch: master
10
- ignore_paths: <%= $common_ignore_paths %>
11
-
12
- jobs:
13
- % RUBIES[:mri].last(2).each do |ruby_version|
14
- - name: ruby-<%= ruby_version %>
15
- public: true
16
- plan:
17
- - get: ci
18
- - get: mini_portile
19
- trigger: true
20
- - task: rake-test
21
- config:
22
- platform: linux
23
- image_resource:
24
- type: registry-image
25
- source: {repository: ruby, tag: "<%= ruby_version %>"}
26
- inputs:
27
- - name: ci
28
- - name: mini_portile
29
- run:
30
- path: ci/concourse/tasks/rake-test/task.sh
31
- % end
@@ -1,50 +0,0 @@
1
-
2
- resources:
3
- - name: ci
4
- type: git
5
- source:
6
- uri: https://github.com/flavorjones/mini_portile/
7
- branch: master
8
- disable_ci_skip: true # always get the latest pipeline configuration
9
- - name: mini_portile
10
- type: git
11
- source:
12
- uri: https://github.com/flavorjones/mini_portile/
13
- branch: master
14
- ignore_paths: ["CHANGELOG.md","README.md","concourse/**"]
15
-
16
- jobs:
17
- - name: ruby-2.6
18
- public: true
19
- plan:
20
- - get: ci
21
- - get: mini_portile
22
- trigger: true
23
- - task: rake-test
24
- config:
25
- platform: linux
26
- image_resource:
27
- type: registry-image
28
- source: {repository: ruby, tag: "2.6"}
29
- inputs:
30
- - name: ci
31
- - name: mini_portile
32
- run:
33
- path: ci/concourse/tasks/rake-test/task.sh
34
- - name: ruby-2.7
35
- public: true
36
- plan:
37
- - get: ci
38
- - get: mini_portile
39
- trigger: true
40
- - task: rake-test
41
- config:
42
- platform: linux
43
- image_resource:
44
- type: registry-image
45
- source: {repository: ruby, tag: "2.7"}
46
- inputs:
47
- - name: ci
48
- - name: mini_portile
49
- run:
50
- path: ci/concourse/tasks/rake-test/task.sh
@@ -1,11 +0,0 @@
1
- . "c:\var\vcap\packages\windows-ruby-dev-tools\prelude.ps1"
2
-
3
- $env:RUBYOPT = "-rdevkit"
4
-
5
- push-location mini_portile
6
-
7
- system-cmd "gem install bundler"
8
- system-cmd "bundle install"
9
- system-cmd "bundle exec rake test"
10
-
11
- pop-location
@@ -1,14 +0,0 @@
1
- #! /usr/bin/env bash
2
-
3
- set -e -x -u
4
-
5
- apt-get update
6
- apt-get install -y cmake
7
-
8
- pushd mini_portile
9
-
10
- gem install bundler
11
- bundle install
12
- bundle exec rake test
13
-
14
- popd