memtar 0.1.2 → 0.1.3

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: 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