parse_a_changelog 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +162 -0
  3. data/.github/CODEOWNERS +9 -0
  4. data/.gitignore +2 -0
  5. data/.rspec +3 -0
  6. data/CHANGELOG.md +12 -3
  7. data/CONTRIBUTING.md +20 -0
  8. data/Contributing_OSS/CyberArk_Open_Source_Contributor_Agreement.pdf +0 -0
  9. data/Dockerfile +14 -0
  10. data/Gemfile +3 -0
  11. data/Gemfile.lock +51 -0
  12. data/Jenkinsfile +160 -0
  13. data/NOTICES.txt +25 -0
  14. data/README.md +2 -2
  15. data/Rakefile +10 -0
  16. data/SECURITY.md +42 -0
  17. data/build.sh +5 -0
  18. data/parse_a_changelog.gemspec +26 -0
  19. data/publish.sh +25 -0
  20. data/spec/fixtures/correct.md +31 -0
  21. data/spec/fixtures/correct_empty_diff.md +28 -0
  22. data/spec/fixtures/correct_empty_unreleased.md +26 -0
  23. data/spec/fixtures/correct_https.md +31 -0
  24. data/spec/fixtures/correct_initial_tag.md +32 -0
  25. data/spec/fixtures/correct_no_semver.md +30 -0
  26. data/spec/fixtures/correct_with_4_digit_version.md +20 -0
  27. data/spec/fixtures/correct_with_4_digit_version_and_metadata.md +20 -0
  28. data/spec/fixtures/correct_with_4_digit_version_and_pre_release.md +52 -0
  29. data/spec/fixtures/correct_with_metadata.md +20 -0
  30. data/spec/fixtures/correct_with_pre_release.md +52 -0
  31. data/spec/fixtures/incorrect_change_prefix.md +31 -0
  32. data/spec/fixtures/incorrect_release_header_delimiter.md +31 -0
  33. data/spec/fixtures/malformed_change_header.md +31 -0
  34. data/spec/fixtures/malformed_changelog_header.md +31 -0
  35. data/spec/fixtures/malformed_diff_version.md +10 -0
  36. data/spec/fixtures/malformed_release_date.md +31 -0
  37. data/spec/fixtures/malformed_release_header.md +31 -0
  38. data/spec/fixtures/malformed_release_version.md +31 -0
  39. data/spec/fixtures/malformed_unreleased_header.md +31 -0
  40. data/spec/fixtures/missing_newline_at_eof.md +31 -0
  41. data/spec/fixtures/missing_newline_before_diffs.md +30 -0
  42. data/spec/fixtures/missing_newline_before_releases.md +30 -0
  43. data/spec/fixtures/missing_newline_before_unreleased.md +30 -0
  44. data/spec/fixtures/missing_newline_between_changes.md +30 -0
  45. data/spec/fixtures/missing_release_date.md +31 -0
  46. data/spec/fixtures/no_releases.md +12 -0
  47. data/spec/fixtures/unknown_change_type.md +31 -0
  48. data/spec/parser_spec.rb +163 -0
  49. data/test.sh +17 -0
  50. metadata +85 -11
  51. data/VERSION +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00e6ad2d290f5f06bae47ddee2972e9621f1210083644ee3918a775f5a55ae6b
4
- data.tar.gz: bbb0a503e5c628806c07217f1e5924b660b35855397a7e425ecd6418e42c6108
3
+ metadata.gz: 594f7864c6c0796a0b7ca594e7a3ae300c40d95de69503965e344d59262ecc53
4
+ data.tar.gz: 9ca6b5ccb862ee81fbb5eaec6b1b86b020ff7db0ec8bf7f527024936bc32d03b
5
5
  SHA512:
6
- metadata.gz: d6c18d140b5e252a3556fe4310006258866b9518f87cc185fe38f87ca81447cbfa75517c5d980d137c1a518dda50e3cf0671f7e9b454d0cebfe38782296f4730
7
- data.tar.gz: 11f832db1f87b4f09b71b9aa564ada6004a2e745ffbb6e8c7a88432f2c4d1841aa60a95d33dc8c46999152a0f362738b9775aa43c1d5a3b44f2560f4e9426a11
6
+ metadata.gz: 5a184949c38c71e5519d66477c32b2235f2a0dc98eef5785658c419c07de1a8f17b026d7edab61d5b987a0aa31493330432d7f5bd449c09802f0ab37a3fc6b85
7
+ data.tar.gz: effa83d57427feeab570a95166c7d7eb09274736b9d25021539ea0530081736a81bca0345b365fbba1ff6cfea13d18c14281a7e91930d77757b2309673c9ee13
data/.codeclimate.yml ADDED
@@ -0,0 +1,162 @@
1
+ # This is our default .CodeClimate.yml, broken out by language. Uncomment the
2
+ # sections at the bottom that apply to your project. ACTION comments indicate
3
+ # places where config might need to be tweaked.
4
+
5
+ version: "2"
6
+
7
+ plugins:
8
+
9
+ # ---------------
10
+ # Cross-language plugins. Should always be on.
11
+
12
+ duplication: # Looks for similar and identical code blocks
13
+ enabled: true
14
+ config:
15
+ languages:
16
+ go:
17
+ java:
18
+ javascript:
19
+ php:
20
+ python:
21
+ python_version: 3 # ACTION Comment this out if using Python 2
22
+ ruby:
23
+ swift:
24
+ typescript:
25
+
26
+ fixme: # Flags any FIXME, TODO, BUG, XXX, HACK comments so they can be fixed
27
+ enabled: true
28
+ config:
29
+ strings:
30
+ - FIXME
31
+ - TODO
32
+ - HACK
33
+ - XXX
34
+ - BUG
35
+
36
+ # ---------------
37
+ # Commonly-used languages - run time is minimal and all of these will work
38
+ # whether files of that language are found or not. In general, leave uncommented
39
+
40
+ # Markdown
41
+ markdownlint:
42
+ enabled: true
43
+
44
+ # Go
45
+ gofmt:
46
+ enabled: true
47
+ golint:
48
+ enabled: true
49
+ govet:
50
+ enabled: true
51
+
52
+ # Ruby
53
+ flog:
54
+ enabled: true
55
+ reek:
56
+ enabled: true
57
+ rubocop:
58
+ enabled: true
59
+ channel: rubocop-0-79 # As of March 10, 2020, rubocop 0.80.1 is the latest
60
+ # However, it does not work with CodeClimate - throws
61
+ # an Invalid JSON error.
62
+ # ACTION uncomment bundler-audit below if using Gemfile/Gemfile.lock
63
+ # ACTION uncomment brakeman below if using Rails
64
+
65
+ # Shell scripts
66
+ shellcheck:
67
+ enabled: true
68
+
69
+ # ---------------
70
+ # Other languages - will work with or without language files present. Again,
71
+ # runtime is minimal, so OK to leave uncommented.
72
+
73
+ # CoffeeScript
74
+ coffeelint:
75
+ enabled: true
76
+
77
+ # CSS
78
+ csslint:
79
+ enabled: true
80
+
81
+ # Groovy
82
+ codenarc:
83
+ enabled: true
84
+
85
+ # Java
86
+ pmd:
87
+ enabled: true
88
+ sonar-java:
89
+ enabled: true
90
+ config:
91
+ sonar.java.source: "7" # ACTION set this to the major version of Java used
92
+ # ACTION uncomment checkstyle below if Java code exists in repo
93
+
94
+ # Node.js
95
+ nodesecurity:
96
+ enabled: true
97
+ # ACTION uncomment eslint below if JavaScript already exists and .eslintrc
98
+ # file exists in repo
99
+
100
+ # PHP
101
+ phan:
102
+ enabled: true
103
+ config:
104
+ file_extensions: "php"
105
+ phpcodesniffer:
106
+ enabled: true
107
+ config:
108
+ file_extensions: "php,inc,lib"
109
+ # Using Wordpress standards as our one PHP repo is a Wordpress theme
110
+ standards: "PSR1,PSR2,WordPress,WordPress-Core,WordPress-Extra"
111
+ phpmd:
112
+ enabled: true
113
+ config:
114
+ file_extensions: "php,inc,lib"
115
+ rulesets: "cleancode,codesize,controversial,naming,unusedcode"
116
+ sonar-php:
117
+ enabled: true
118
+
119
+ # Python
120
+ bandit:
121
+ enabled: true
122
+ pep8:
123
+ enabled: true
124
+ radon:
125
+ enabled: true
126
+ # config:
127
+ # python_version: 2 # ACTION Uncomment these 2 lines if using Python 2
128
+ sonar-python:
129
+ enabled: true
130
+
131
+ # ---------------
132
+ # Configuration Required Language specific - these will error and abort the
133
+ # codeclimate run if they are turned on and certain files or configuration are
134
+ # missing. Should be commented out unless the project already includes the
135
+ # necessary files that the linter looks at
136
+
137
+ # Ruby - requires presence of Gemfile and Gemfile.lock
138
+ bundler-audit:
139
+ enabled: true
140
+
141
+ # Rails - requires detecting a Rails application
142
+ # brakeman:
143
+ # enabled: true
144
+
145
+ # Chef - requires detecting a cookbook
146
+ # foodcritic:
147
+ # enabled: true
148
+
149
+ # Java - might require Java code? Errored when run without
150
+ # checkstyle:
151
+ # enabled: true
152
+
153
+ # JavaScript - requires an eslintrc to be created and added to project
154
+ # eslint:
155
+ # enabled: true
156
+ # channel: "eslint-6"
157
+
158
+ # ---------------
159
+ # List any files/folders to exclude from checking. Wildcards accepted. Leave
160
+ # commented if no files to exclude as an empty array will error
161
+ exclude_patterns:
162
+ - ".gitignore"
@@ -0,0 +1,9 @@
1
+ * @cyberark/community-and-integrations-team @conjurinc/community-and-integrations-team @conjurdemos/community-and-integrations-team @conjur-enterprise/community-and-integrations @cyberark/conjur-core-team @conjurinc/conjur-core-team @conjurdemos/conjur-core-team @conjur-enterprise/conjur-core
2
+
3
+ # Changes to .trivyignore[.yml] require Security Architect approval
4
+ .trivyignore* @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects @conjur-enterprise/conjur-security
5
+
6
+ # Changes to .codeclimate.yml require Quality Architect approval
7
+ .codeclimate.yml @cyberark/quality-architects @conjurinc/quality-architects @conjurdemos/quality-architects @conjur-enterprise/conjur-quality
8
+ # Changes to SECURITY.md require Security Architect approval
9
+ SECURITY.md @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects @conjur-enterprise/conjur-security
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ .bundle/
2
+ rspec_junit.xml
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format RspecJunitFormatter
2
+ --out rspec_junit.xml
3
+ --format progress
data/CHANGELOG.md CHANGED
@@ -6,11 +6,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- ## [1.3.0] - 2023-07-12
9
+ ## [1.3.2] - 2024-11-05
10
+ ### Changed
11
+ - Use internal auto release process (CNJR-5578)
12
+
13
+ ## [1.3.0] - 2023-12-28
10
14
  ### Changed
11
15
  - Allow versions to have 4 digits (eg., x.x.x.x)
12
16
  [cyberark/parse-a-changelog#41](https://github.com/cyberark/parse-a-changelog/pulls/41)
13
17
 
18
+ ### Security
19
+ - Updated Dockerfile base image to use latest Ruby v3 version
20
+ [cyberark/parse-a-changelog#46](https://github.com/cyberark/parse-a-changelog/pulls/46)
21
+
14
22
  ## [1.2.0] - 2021-06-20
15
23
  ### Changed
16
24
  - Allow CHANGELOG without SemVer declaration.
@@ -82,8 +90,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
82
90
  - Open source license and contributing information
83
91
  - Change log and versioning information
84
92
 
85
- [Unreleased]: https://github.com/cyberark/parse-a-changelog/compare/v1.3.0...HEAD
86
- [1.2.0]: https://github.com/cyberark/parse-a-changelog/compare/v1.2.0...v1.3.0
93
+ [Unreleased]: https://github.com/cyberark/parse-a-changelog/compare/v1.3.1...HEAD
94
+ [1.3.2]: https://github.com/cyberark/parse-a-changelog/compare/v1.3.0...v1.3.2
95
+ [1.3.0]: https://github.com/cyberark/parse-a-changelog/compare/v1.2.0...v1.3.0
87
96
  [1.2.0]: https://github.com/cyberark/parse-a-changelog/compare/v1.1.0...v1.2.0
88
97
  [1.1.0]: https://github.com/cyberark/parse-a-changelog/compare/v1.0.2...v1.1.0
89
98
  [1.0.2]: https://github.com/cyberark/parse-a-changelog/compare/v1.0.1...v1.0.2
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,20 @@
1
+ # Contributing to parse-a-changelog
2
+
3
+ Thanks for your interest in `parse-a-changelog`!
4
+
5
+ For general contribution and community guidelines, please see the [community repo](https://github.com/cyberark/community).
6
+ In particular, before contributing please review our [contributor licensing guide](https://github.com/cyberark/community/blob/master/CONTRIBUTING.md#when-the-repo-does-not-include-the-cla)
7
+ to ensure your contribution is compliant with our contributor license agreements.
8
+
9
+ ## Pull Request Workflow
10
+
11
+ 1. Search the [open issues][issues] in GitHub to find out what has been planned
12
+ 2. Open an issue in this repository to propose changes or fixes
13
+ 3. Tag issue "in progress" as you work on it
14
+ 4. Run RSpec tests as described [here][tests], ensuring they pass
15
+ 5. Submit a pull request
16
+ 6. Tag the issue "review", ask another contributor to review and merge your code
17
+ 7. Close the issue
18
+
19
+ [tests]: README.md#Testing
20
+ [issues]: https://github.com/cyberark/parse-a-changelog/issues
data/Dockerfile ADDED
@@ -0,0 +1,14 @@
1
+ FROM ruby:3
2
+
3
+ RUN gem install bundler --no-document
4
+
5
+ RUN bundle config set without 'test development'
6
+
7
+ WORKDIR /usr/src/app
8
+
9
+ COPY . .
10
+
11
+ RUN bundle install
12
+
13
+ ENTRYPOINT ["bundle", "exec", "bin/parse"]
14
+ CMD ["/CHANGELOG.md"]
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,51 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ parse_a_changelog (1.3.0)
5
+ treetop (~> 1.6)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ byebug (11.1.3)
11
+ coderay (1.1.3)
12
+ diff-lcs (1.5.0)
13
+ method_source (1.0.0)
14
+ polyglot (0.3.5)
15
+ pry (0.13.1)
16
+ coderay (~> 1.1)
17
+ method_source (~> 1.0)
18
+ pry-byebug (3.9.0)
19
+ byebug (~> 11.0)
20
+ pry (~> 0.13.0)
21
+ rspec (3.12.0)
22
+ rspec-core (~> 3.12.0)
23
+ rspec-expectations (~> 3.12.0)
24
+ rspec-mocks (~> 3.12.0)
25
+ rspec-core (3.12.2)
26
+ rspec-support (~> 3.12.0)
27
+ rspec-expectations (3.12.3)
28
+ diff-lcs (>= 1.2.0, < 2.0)
29
+ rspec-support (~> 3.12.0)
30
+ rspec-mocks (3.12.6)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.12.0)
33
+ rspec-support (3.12.1)
34
+ rspec_junit_formatter (0.4.1)
35
+ rspec-core (>= 2, < 4, != 2.12.0)
36
+ treetop (1.6.12)
37
+ polyglot (~> 0.3)
38
+
39
+ PLATFORMS
40
+ ruby
41
+ x86_64-darwin-16
42
+ x86_64-darwin-18
43
+
44
+ DEPENDENCIES
45
+ parse_a_changelog!
46
+ pry-byebug (~> 3.9.0)
47
+ rspec (~> 3.8)
48
+ rspec_junit_formatter (~> 0.4.1)
49
+
50
+ BUNDLED WITH
51
+ 2.4.14
data/Jenkinsfile ADDED
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env groovy
2
+ @Library("product-pipelines-shared-library") _
3
+
4
+ // Automated release, promotion and dependencies
5
+ properties([
6
+ // Include the automated release parameters for the build
7
+ release.addParams(),
8
+ // Dependencies of the project that should trigger builds
9
+ dependencies([])
10
+ ])
11
+
12
+ // Performs release promotion. No other stages will be run
13
+ if (params.MODE == "PROMOTE") {
14
+ release.promote(params.VERSION_TO_PROMOTE) { infrapool, sourceVersion, targetVersion, assetDirectory ->
15
+ // Any assets from sourceVersion Github release are available in assetDirectory
16
+ // Any version number updates from sourceVersion to targetVersion occur here
17
+ // Any publishing of targetVersion artifacts occur here
18
+ // Anything added to assetDirectory will be attached to the Github Release
19
+
20
+ infrapool.agentSh "./publish.sh v${targetVersion}"
21
+
22
+ // Ensure the working directory is a safe git directory for the subsequent
23
+ // promotion operations after this block.
24
+ infrapool.agentSh 'git config --global --add safe.directory "$(pwd)"'
25
+ }
26
+
27
+ // Copy Github Enterprise release to Github
28
+ release.copyEnterpriseRelease(params.VERSION_TO_PROMOTE)
29
+ return
30
+ }
31
+
32
+ pipeline {
33
+ agent { label 'conjur-enterprise-common-agent' }
34
+
35
+ options {
36
+ timestamps()
37
+ buildDiscarder(logRotator(numToKeepStr: '30'))
38
+ timeout(time: 30, unit: 'MINUTES')
39
+ }
40
+
41
+ environment {
42
+ // Sets the MODE to the specified or autocalculated value as appropriate
43
+ MODE = release.canonicalizeMode()
44
+ }
45
+
46
+ triggers {
47
+ cron(getDailyCronString())
48
+ }
49
+
50
+ stages {
51
+ // Aborts any builds triggered by another project that wouldn't include any changes
52
+ stage ("Skip build if triggering job didn't create a release") {
53
+ when {
54
+ expression {
55
+ MODE == "SKIP"
56
+ }
57
+ }
58
+ steps {
59
+ script {
60
+ currentBuild.result = 'ABORTED'
61
+ error("Aborting build because this build was triggered from upstream, but no release was built")
62
+ }
63
+ }
64
+ }
65
+
66
+ stage('Scan for internal URLs') {
67
+ steps {
68
+ script {
69
+ detectInternalUrls()
70
+ }
71
+ }
72
+ }
73
+
74
+ stage('Get InfraPool ExecutorV2 Agent') {
75
+ steps {
76
+ script {
77
+ // Request ExecutorV2 agents for 1 hour(s)
78
+ infrapool = getInfraPoolAgent.connected(type: "ExecutorV2", quantity: 1, duration: 1)[0]
79
+ }
80
+ }
81
+ }
82
+
83
+ // Generates a VERSION file based on the current build number and latest version in CHANGELOG.md
84
+ stage('Validate Changelog and set version') {
85
+ steps {
86
+ script {
87
+ updateVersion(infrapool, "CHANGELOG.md", "${BUILD_NUMBER}")
88
+ }
89
+ }
90
+ }
91
+
92
+ // Generates a VERSION file based on the current build number and latest version in CHANGELOG.md
93
+ stage('Validate changelog and set version') {
94
+ steps {
95
+ updateVersion(infrapool, "CHANGELOG.md", "${BUILD_NUMBER}")
96
+ }
97
+ }
98
+
99
+ stage("Build Docker Image"){
100
+ steps {
101
+ script {
102
+ infrapool.agentSh './build.sh'
103
+ }
104
+ }
105
+ }
106
+
107
+ stage('Test') {
108
+ steps {
109
+ script {
110
+ infrapool.agentSh './test.sh'
111
+ }
112
+ }
113
+ post {
114
+ always{
115
+ script {
116
+ infrapool.agentStash name: 'rspec_junit', includes: 'rspec_junit.xml'
117
+ unstash 'rspec_junit'
118
+ junit 'rspec_junit.xml'
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ stage('Release') {
125
+ when {
126
+ expression {
127
+ MODE == "RELEASE"
128
+ }
129
+ }
130
+
131
+ steps {
132
+ script {
133
+ release(infrapool) { billOfMaterialsDirectory, assetDirectory ->
134
+ /* Publish release artifacts to all the appropriate locations
135
+ Copy any artifacts to assetDirectory on the infrapool node
136
+ to attach them to the Github release.
137
+
138
+ If your assets are on the infrapool node in the target
139
+ directory, use a copy like this:
140
+ infrapool.agentSh "cp target/* ${assetDirectory}"
141
+ Note That this will fail if there are no assets, add :||
142
+ if you want the release to succeed with no assets.
143
+
144
+ If your assets are in target on the main Jenkins agent, use:
145
+ infrapool.agentPut(from: 'target/', to: assetDirectory)
146
+ */
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+
153
+ post {
154
+ always {
155
+ script {
156
+ releaseInfraPoolAgent(".infrapool/release_agents")
157
+ }
158
+ }
159
+ }
160
+ }
data/NOTICES.txt ADDED
@@ -0,0 +1,25 @@
1
+ ------------------
2
+
3
+ The following libraries licensed under the MIT license are used
4
+ within this repository:
5
+
6
+ * rspec - https://rubygems.org/gems/rspec
7
+ * treetop - https://rubygems.org/gems/treetop/versions/1.6.12
8
+
9
+ MIT License - https://opensource.org/licenses/MIT
10
+
11
+ Copyright 2017 CyberArk Software, Inc.
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
15
+ including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
+ and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
+ subject to the following conditions:
18
+ The above copyright notice and this permission notice shall be included in all copies or substantial
19
+ portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22
+ LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
25
+ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -4,10 +4,10 @@ This gem can be used to validate that a file conforms to the [Keep a Changelog](
4
4
 
5
5
  ## Usage
6
6
 
7
- Add `parse-a-changelog` to your `Gemfile` and `bundle install` or install it directly with:
7
+ Add `parse_a_changelog` to your `Gemfile` and `bundle install` or install it directly with:
8
8
 
9
9
  ```
10
- gem install parse-a-changelog
10
+ gem install parse_a_changelog
11
11
  ```
12
12
 
13
13
  The gem includes a binary that can be run with the changelog file as its single argument:
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ rescue LoadError
7
+ task :spec
8
+ end
9
+
10
+ task default: :spec
data/SECURITY.md ADDED
@@ -0,0 +1,42 @@
1
+ # Security Policies and Procedures
2
+
3
+ This document outlines security procedures and general policies for the CyberArk Conjur
4
+ suite of tools and products.
5
+
6
+ * [Reporting a Bug](#reporting-a-bug)
7
+ * [Disclosure Policy](#disclosure-policy)
8
+ * [Comments on this Policy](#comments-on-this-policy)
9
+
10
+ ## Reporting a Bug
11
+
12
+ The CyberArk Conjur team and community take all security bugs in the Conjur suite seriously.
13
+ Thank you for improving the security of the Conjur suite. We appreciate your efforts and
14
+ responsible disclosure and will make every effort to acknowledge your
15
+ contributions.
16
+
17
+ Report security bugs by emailing the lead maintainers at security@conjur.org.
18
+
19
+ The maintainers will acknowledge your email within 2 business days. Subsequently, we will
20
+ send a more detailed response within 2 business days of our acknowledgement indicating
21
+ the next steps in handling your report. After the initial reply to your report, the security
22
+ team will endeavor to keep you informed of the progress towards a fix and full
23
+ announcement, and may ask for additional information or guidance.
24
+
25
+ Report security bugs in third-party modules to the person or team maintaining
26
+ the module.
27
+
28
+ ## Disclosure Policy
29
+
30
+ When the security team receives a security bug report, they will assign it to a
31
+ primary handler. This person will coordinate the fix and release process,
32
+ involving the following steps:
33
+
34
+ * Confirm the problem and determine the affected versions.
35
+ * Audit code to find any potential similar problems.
36
+ * Prepare fixes for all releases still under maintenance. These fixes will be
37
+ released as fast as possible.
38
+
39
+ ## Comments on this Policy
40
+
41
+ If you have suggestions on how this process could be improved please submit a
42
+ pull request.
data/build.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -eux
4
+
5
+ docker build . --tag parse-a-changelog
@@ -0,0 +1,26 @@
1
+ Gem::Specification.new do |spec|
2
+ spec.name = "parse_a_changelog"
3
+ # If a "VERSION" file exists (created by Jenkins), use it. Otherwise, use "unreleased".
4
+ spec.version = `if [ -f VERSION ]; then cat < VERSION; else echo "0.0.1-unreleased"; fi`
5
+ spec.authors = ["John Tuttle"]
6
+ spec.email = "jtuttle.develops@gmail.com"
7
+
8
+ spec.summary = %q{A validator for the keep-a-changelog format}
9
+ spec.description = %q{Uses a grammar describing the keep-a-changelog format to attempt to parse a given file.}
10
+ spec.homepage = "http://github.com/cyberark/parse-a-changelog"
11
+ spec.license = "Apache-2.0"
12
+
13
+ #spec.files = Dir.glob("{bin,lib}/**/*") + %w(LICENSE README.md CHANGELOG.md VERSION)
14
+ spec.files = `git ls-files`.split($\)
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ #spec.files = `git ls-files`.split($\) + %w(LICENSE README.md CHANGELOG.md VERSION)
18
+ spec.bindir = 'bin'
19
+ #spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency 'treetop', '~> 1.6'
23
+ spec.add_development_dependency 'rspec', '~> 3.12'
24
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.6'
25
+ spec.add_development_dependency 'pry-byebug', '~> 3.10'
26
+ end
data/publish.sh ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ # This script will publish to rubygems and dockerhub
6
+
7
+ # Clone the release-tools repository if it doesn't exist
8
+ if [ ! -d release-tools ]; then
9
+ git clone git@github.com:conjurinc/release-tools.git
10
+ fi
11
+
12
+ export PATH=$PWD/release-tools/bin/:$PATH
13
+
14
+ # Build and publish rubygem
15
+ summon --yaml "RUBYGEMS_API_KEY: !var rubygems/api-key" \
16
+ publish-rubygem parse_a_changelog
17
+
18
+ # Publish to Docker Hub
19
+ TAG_NAME=$1
20
+ DOCKERHUB_IMAGE="cyberark/parse-a-changelog"
21
+ docker tag parse-a-changelog "${DOCKERHUB_IMAGE}:latest"
22
+ docker tag parse-a-changelog "${DOCKERHUB_IMAGE}:${TAG_NAME}"
23
+
24
+ docker push "${DOCKERHUB_IMAGE}:latest"
25
+ docker push "${DOCKERHUB_IMAGE}:${TAG_NAME}"
@@ -0,0 +1,31 @@
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
+ ### Added
9
+ - Added a thing.
10
+
11
+ ### Changed
12
+ - Changed a thing.
13
+
14
+ ## [1.0.0] - 2019-01-03
15
+ ### Deprecated
16
+ - Some things were deprecated.
17
+
18
+ ## 0.1.0 - 2018-11-28
19
+ ### Removed
20
+ - Removed all
21
+ the things.
22
+
23
+ ### Fixed
24
+ - Fixed all the bugs from the non-existent previous release.
25
+
26
+ ### Security
27
+ - We are so secure now.
28
+ - The securest.
29
+
30
+ [Unreleased]: https://github.com/conjurinc/evoke/compare/v1.0.0...HEAD
31
+ [1.0.0]: https://github.com/conjurinc/evoke/compare/v0.1.0...v1.0.0