memtar 0.1.2 → 0.1.3

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: 4f247845fb1acb3820a3abde0269f6440a25e5fcc43bc346f8593fde1e12c89a
4
- data.tar.gz: a7396eb764c21e7fef6c906781a8ebba1622dcd71e8b81cac26873711876eaeb
3
+ metadata.gz: e6680c3593b5e990ff5bbd29b5d2325a3fc16c8da52be3618e71ad86becb3391
4
+ data.tar.gz: 1ef28e0e752db5c18ce9bb8f6c371a43f19747587d0cd60d8a69db13bb50a830
5
5
  SHA512:
6
- metadata.gz: 45afbe0bfbcf55c034f07cf830e32cb129d0dc16ddaeda520053425e20a4428697ceed8bc89a45a3a6346e9e5ec4073048dc5c43b2936d1f1958ff17ef17a2fa
7
- data.tar.gz: 8710466bb6e5d65cb3393c57e4f1142e827a2f9ede439d597927d846289aa1ad2395780c936a38bea350365e9599b469bb06244c6d5c37351bf15a10bde565c3
6
+ metadata.gz: '088c317b3042433dc8bd8b7f1fa1b2e08a2ede8afb3d6098cfc373ec8bfa829e2214de472d20b7e3602dda16222e8010a19ab820e785f4ddda832eaf18c3e9c1'
7
+ data.tar.gz: cdfdb642a93c9ff136013a3224db07ffc797d5d8d85c119cb99e86ac4e204235103324f247781173e54b4a1bce5362ea04f5f60be7fda41f9e993c9e08aac1be
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/CHANGELOG.md ADDED
@@ -0,0 +1,29 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.1.3] - 2019-11-20
10
+
11
+ ### Fixed
12
+
13
+ - File entries are correctly padded to the 512 byte boundary without introducing
14
+ entire 512 byte blocks of null data.
15
+
16
+ ## [0.1.2] - 2019-09-06
17
+
18
+ ## [0.1.1] - 2019-08-27
19
+
20
+ ## [0.1.0] - 2015-02-23
21
+
22
+ ## [0.0.1] - 2015-02-18
23
+
24
+ [Unreleased]: https://github.com/conjurinc/memtar/compare/v0.1.3...HEAD
25
+ [0.1.3]: https://github.com/conjurinc/memtar/compare/v0.1.1...v0.1.3
26
+ [0.1.2]: https://github.com/conjurinc/memtar/compare/v0.1.1...v0.1.2
27
+ [0.1.1]: https://github.com/conjurinc/memtar/compare/v0.1.0...v0.1.1
28
+ [0.1.0]: https://github.com/conjurinc/memtar/compare/v0.0.1...v0.1.0
29
+ [0.0.1]: https://github.com/conjurinc/memtar/compare/v0.0.1
data/Dockerfile.test ADDED
@@ -0,0 +1,15 @@
1
+ FROM ruby:2.5
2
+
3
+ RUN mkdir /src
4
+ WORKDIR /src
5
+
6
+ COPY memtar.gemspec /src
7
+ COPY Gemfile /src
8
+ COPY Gemfile.lock /src
9
+ COPY lib/memtar/version.rb /src/lib/memtar/
10
+
11
+ RUN bundle install
12
+
13
+ COPY . /src/
14
+
15
+ CMD [ "rake", "spec" ]
data/Gemfile.lock ADDED
@@ -0,0 +1,37 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ memtar (0.1.3)
5
+ minitar (~> 0.8)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.3)
11
+ minitar (0.9)
12
+ rake (10.5.0)
13
+ rspec (3.9.0)
14
+ rspec-core (~> 3.9.0)
15
+ rspec-expectations (~> 3.9.0)
16
+ rspec-mocks (~> 3.9.0)
17
+ rspec-core (3.9.0)
18
+ rspec-support (~> 3.9.0)
19
+ rspec-expectations (3.9.0)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.9.0)
22
+ rspec-mocks (3.9.0)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.9.0)
25
+ rspec-support (3.9.0)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ bundler (~> 1.7)
32
+ memtar!
33
+ rake (~> 10.0)
34
+ rspec (~> 3.2)
35
+
36
+ BUNDLED WITH
37
+ 1.17.2
data/Jenkinsfile ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env groovy
2
+
3
+ pipeline {
4
+ agent { label 'executor-v2' }
5
+
6
+ options {
7
+ timestamps()
8
+ buildDiscarder(logRotator(numToKeepStr: '30'))
9
+ }
10
+
11
+ triggers {
12
+ cron(getDailyCronString())
13
+ }
14
+
15
+ stages {
16
+ stage('Test') {
17
+ steps { sh './test.sh' }
18
+ }
19
+
20
+ // Only publish to RubyGems if branch is 'master'
21
+ // AND someone confirms this stage within 5 minutes
22
+ stage('Publish to RubyGems?') {
23
+ agent { label 'releaser-v2' }
24
+
25
+ when {
26
+ allOf {
27
+ branch 'master'
28
+ expression {
29
+ boolean publish = false
30
+
31
+ if (env.PUBLISH_GEM == "true") {
32
+ return true
33
+ }
34
+
35
+ try {
36
+ timeout(time: 5, unit: 'MINUTES') {
37
+ input(message: 'Publish to RubyGems?')
38
+ publish = true
39
+ }
40
+ } catch (final ignore) {
41
+ publish = false
42
+ }
43
+
44
+ return publish
45
+ }
46
+ }
47
+ }
48
+ steps {
49
+ // Clean up first
50
+ sh 'docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd'
51
+
52
+ sh './publish.sh'
53
+
54
+ // Clean up again...
55
+ sh 'docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd'
56
+ deleteDir()
57
+ }
58
+ }
59
+ }
60
+
61
+ post {
62
+ always {
63
+ cleanupAndNotify(currentBuild.currentResult)
64
+ }
65
+ }
66
+ }
data/lib/memtar.rb CHANGED
@@ -16,7 +16,7 @@ class MemTar
16
16
  size = content.bytesize
17
17
  @io.write header opts.merge size: size, name: path
18
18
  @io.write content
19
- @io.write "\0" * (512 - size % 512)
19
+ @io.write "\0" * ((512 - size % 512) % 512)
20
20
  end
21
21
 
22
22
  def add_symlink path, target
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class MemTar
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
data/memtar.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'memtar/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "memtar"
8
8
  spec.version = MemTar::VERSION
9
- spec.authors = ["Rafał Rzepecki"]
10
- spec.email = ["rafal@conjur.net"]
9
+ spec.authors = ["CyberArk", "Rafał Rzepecki", "Micah Lee"]
10
+ spec.email = ["conj_maintainers@cyberark.com"]
11
11
  spec.summary = %q{In-memory tar archive creation}
12
12
  spec.homepage = "https://github.com/conjurinc/memtar"
13
13
  spec.license = "MIT"
data/publish.sh ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash -e
2
+
3
+ docker pull registry.tld/conjurinc/publish-rubygem
4
+
5
+ summon --yaml "RUBYGEMS_API_KEY: !var rubygems/api-key" \
6
+ docker run --rm --env-file @SUMMONENVFILE -v "$(pwd)":/opt/src \
7
+ registry.tld/conjurinc/publish-rubygem memtar
data/spec/memtar_spec.rb CHANGED
@@ -25,10 +25,17 @@ describe MemTar do
25
25
  file.close
26
26
 
27
27
  subject.add_file 'xyzzy', File.new(file.path)
28
- has_file 'xyzzy', content: 'bar', mode: 0750, uname: Etc.getlogin
28
+ has_file 'xyzzy', content: 'bar', mode: 0750, uname: Etc.getpwuid.name
29
29
  file.unlink
30
30
  end
31
31
 
32
+ it 'handles content that is a factor of 512 bytes' do
33
+ subject.add_file 'test_file', 'a' * 512
34
+ subject.add_file 'another_test_file', 'some content'
35
+
36
+ has_file 'another_test_file', content: 'some content'
37
+ end
38
+
32
39
  it 'handles symlinks as File arguments' do
33
40
  file = Tempfile.new 'foo'
34
41
  path = file.path
data/test.sh ADDED
@@ -0,0 +1,4 @@
1
+ #!/bin/bash -eu
2
+
3
+ docker build -f Dockerfile.test -t memtar_test .
4
+ docker run --rm -v "$(pwd):/src" memtar_test rake spec
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memtar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
+ - CyberArk
7
8
  - Rafał Rzepecki
9
+ - Micah Lee
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2019-09-06 00:00:00.000000000 Z
13
+ date: 2019-11-21 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: minitar
@@ -68,7 +70,7 @@ dependencies:
68
70
  version: '3.2'
69
71
  description:
70
72
  email:
71
- - rafal@conjur.net
73
+ - conj_maintainers@cyberark.com
72
74
  executables: []
73
75
  extensions: []
74
76
  extra_rdoc_files: []
@@ -76,15 +78,21 @@ files:
76
78
  - ".gitignore"
77
79
  - ".overcommit.yml"
78
80
  - ".rubocop.yml"
81
+ - CHANGELOG.md
82
+ - Dockerfile.test
79
83
  - Gemfile
84
+ - Gemfile.lock
85
+ - Jenkinsfile
80
86
  - LICENSE.txt
81
87
  - README.md
82
88
  - Rakefile
83
89
  - lib/memtar.rb
84
90
  - lib/memtar/version.rb
85
91
  - memtar.gemspec
92
+ - publish.sh
86
93
  - spec/memtar_spec.rb
87
94
  - spec/spec_helper.rb
95
+ - test.sh
88
96
  homepage: https://github.com/conjurinc/memtar
89
97
  licenses:
90
98
  - MIT
@@ -104,8 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
112
  - !ruby/object:Gem::Version
105
113
  version: '0'
106
114
  requirements: []
107
- rubyforge_project:
108
- rubygems_version: 2.7.6.2
115
+ rubygems_version: 3.0.3
109
116
  signing_key:
110
117
  specification_version: 4
111
118
  summary: In-memory tar archive creation