parse_a_changelog 1.3.0 → 1.3.2

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