aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormihaibuzgau <mihaibuzgau@users.noreply.github.com>2020-09-10 15:28:40 +0300
committerGitHub <noreply@github.com>2020-09-10 15:28:40 +0300
commit076ae4e58a5cc2a4aaed769c778f7a3cea54bd21 (patch)
treedcaf9621ed8a177a9bc9ab89a87ddc9f4bafe119
parentec2da07371008375ee809db02ad9be0d6d7090af (diff)
parent31f7208e7b2800c2013ee58a8ef6730aff9a39c2 (diff)
downloadpuppet-cron_core-076ae4e58a5cc2a4aaed769c778f7a3cea54bd21.tar.gz
puppet-cron_core-076ae4e58a5cc2a4aaed769c778f7a3cea54bd21.tar.bz2
Merge pull request #36 from luchihoratiu/MODULES-10800
(MODULES-10800) Add GitHub Actions workflows
-rw-r--r--.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml58
-rw-r--r--.github/workflows/static_code_analysis.yaml41
-rw-r--r--.github/workflows/unit_tests_with_nightly_puppet_gem.yaml60
-rw-r--r--.github/workflows/unit_tests_with_released_puppet_gem.yaml48
-rw-r--r--.travis.yml45
-rw-r--r--Gemfile10
-rw-r--r--README.md6
7 files changed, 221 insertions, 47 deletions
diff --git a/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml b/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml
new file mode 100644
index 0000000..b31bf18
--- /dev/null
+++ b/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml
@@ -0,0 +1,58 @@
+---
+name: '[Daily] Unit Tests with nightly Puppet gem'
+
+on:
+ schedule:
+ - cron: '0 5 * * 1-5'
+
+jobs:
+ daily_unit_tests_with_nightly_puppet_gem:
+ name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
+ strategy:
+ matrix:
+ os: [ 'ubuntu-18.04', 'macos-10.15', 'windows-2019' ]
+ puppet_version: [ 5, 6, 7 ]
+ include:
+ - puppet_version: 5
+ ruby: 2.4
+ - puppet_version: 6
+ ruby: 2.5
+ - puppet_version: 7
+ ruby: 2.7
+
+ - os: 'ubuntu-18.04'
+ os_type: 'Linux'
+ env_set_cmd: 'export '
+ gem_file: 'puppet-latest.gem'
+ - os: 'macos-10.15'
+ os_type: 'macOS'
+ env_set_cmd: 'export '
+ gem_file: 'puppet-latest-universal-darwin.gem'
+ - os: 'windows-2019'
+ os_type: 'Windows'
+ env_set_cmd: '$env:'
+ gem_file: 'puppet-latest-x64-mingw32.gem'
+
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Install ruby version ${{ matrix.ruby }}
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.ruby }}
+
+ - name: Install the latest nightly build of puppet${{ matrix.puppet_version }} gem
+ run: |
+ curl http://nightlies.puppet.com/downloads/gems/puppet${{ matrix.puppet_version }}-nightly/${{ matrix.gem_file }} --output puppet.gem
+ gem install puppet.gem -N
+
+ - name: Prepare testing environment with bundler
+ run: |
+ bundle config set system 'true'
+ ${{ matrix.env_set_cmd }}PUPPET_GEM_VERSION=$(ruby -e 'puts /puppet\s+\((.+)\)/.match(`gem list -eld puppet`)[1]')
+ bundle update --jobs 4 --retry 3
+
+ - name: Run unit tests
+ run: bundle exec rake parallel_spec
diff --git a/.github/workflows/static_code_analysis.yaml b/.github/workflows/static_code_analysis.yaml
new file mode 100644
index 0000000..ed4a232
--- /dev/null
+++ b/.github/workflows/static_code_analysis.yaml
@@ -0,0 +1,41 @@
+---
+name: Static Code Analysis
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ static_code_analysis:
+ name: Run checks
+
+ env:
+ ruby_version: 2.5
+ extra_checks: check:symlinks check:git_ignore check:dot_underscore check:test_file
+
+ runs-on: 'ubuntu-18.04'
+ steps:
+ - name: Checkout current PR code
+ uses: actions/checkout@v2
+
+ - name: Install ruby version ${{ env.ruby_version }}
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ env.ruby_version }}
+
+ - name: Prepare testing environment with bundler
+ run: bundle update --jobs 4 --retry 3
+
+ - name: Run rubocop check
+ run: bundle exec rake ${{ env.extra_checks }} rubocop
+
+ - name: Run syntax check
+ run: bundle exec rake ${{ env.extra_checks }} syntax syntax:hiera syntax:manifests syntax:templates
+
+ - name: Run lint check
+ run: bundle exec rake ${{ env.extra_checks }} lint
+
+ - name: Run metadata_lint check
+ run: bundle exec rake ${{ env.extra_checks }} metadata_lint
diff --git a/.github/workflows/unit_tests_with_nightly_puppet_gem.yaml b/.github/workflows/unit_tests_with_nightly_puppet_gem.yaml
new file mode 100644
index 0000000..8c5d909
--- /dev/null
+++ b/.github/workflows/unit_tests_with_nightly_puppet_gem.yaml
@@ -0,0 +1,60 @@
+---
+name: Unit Tests with nightly Puppet gem
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ unit_tests_with_nightly_puppet_gem:
+ name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
+ strategy:
+ matrix:
+ os: [ 'ubuntu-18.04', 'macos-10.15', 'windows-2019' ]
+ puppet_version: [ 5, 6, 7 ]
+ include:
+ - puppet_version: 5
+ ruby: 2.4
+ - puppet_version: 6
+ ruby: 2.5
+ - puppet_version: 7
+ ruby: 2.7
+
+ - os: 'ubuntu-18.04'
+ os_type: 'Linux'
+ env_set_cmd: 'export '
+ gem_file: 'puppet-latest.gem'
+ - os: 'macos-10.15'
+ os_type: 'macOS'
+ env_set_cmd: 'export '
+ gem_file: 'puppet-latest-universal-darwin.gem'
+ - os: 'windows-2019'
+ os_type: 'Windows'
+ env_set_cmd: '$env:'
+ gem_file: 'puppet-latest-x64-mingw32.gem'
+
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Checkout current PR code
+ uses: actions/checkout@v2
+
+ - name: Install ruby version ${{ matrix.ruby }}
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.ruby }}
+
+ - name: Install the latest nightly build of puppet${{ matrix.puppet_version }} gem
+ run: |
+ curl http://nightlies.puppet.com/downloads/gems/puppet${{ matrix.puppet_version }}-nightly/${{ matrix.gem_file }} --output puppet.gem
+ gem install puppet.gem -N
+
+ - name: Prepare testing environment with bundler
+ run: |
+ bundle config set system 'true'
+ ${{ matrix.env_set_cmd }}PUPPET_GEM_VERSION=$(ruby -e 'puts /puppet\s+\((.+)\)/.match(`gem list -eld puppet`)[1]')
+ bundle update --jobs 4 --retry 3
+
+ - name: Run unit tests
+ run: bundle exec rake parallel_spec
diff --git a/.github/workflows/unit_tests_with_released_puppet_gem.yaml b/.github/workflows/unit_tests_with_released_puppet_gem.yaml
new file mode 100644
index 0000000..065e2b9
--- /dev/null
+++ b/.github/workflows/unit_tests_with_released_puppet_gem.yaml
@@ -0,0 +1,48 @@
+---
+name: Unit Tests with released Puppet gem
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ unit_tests_with_released_puppet_gem:
+ name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
+ strategy:
+ matrix:
+ os: [ 'ubuntu-18.04', 'macos-10.15', 'windows-2019' ]
+ puppet_version: [ 5, 6 ]
+ include:
+ - puppet_version: 5
+ ruby: 2.4
+ - puppet_version: 6
+ ruby: 2.5
+
+ - os: 'ubuntu-18.04'
+ os_type: 'Linux'
+ - os: 'macos-10.15'
+ os_type: 'macOS'
+ - os: 'windows-2019'
+ os_type: 'Windows'
+
+ runs-on: ${{ matrix.os }}
+ env:
+ PUPPET_GEM_VERSION: ~> ${{ matrix.puppet_version }}.0
+ steps:
+ - name: Checkout current PR code
+ uses: actions/checkout@v2
+
+ - name: Install ruby version ${{ matrix.ruby }}
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.ruby }}
+
+ - name: Prepare testing environment with bundler
+ run: |
+ bundle config set system 'true'
+ bundle update --jobs 4 --retry 3
+
+ - name: Run unit tests
+ run: bundle exec rake parallel_spec
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ed27d4d..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-dist: xenial
-language: ruby
-cache: bundler
-before_install:
- - bundle -v
- - rm -f Gemfile.lock
- - gem update --system $RUBYGEMS_VERSION
- - gem --version
- - bundle -v
-script:
- - 'bundle exec rake $CHECK'
-bundler_args: --without system_tests
-rvm:
- - 2.5.3
-stages:
- - static
- - spec
- - acceptance
- -
- if: tag =~ ^v\d
- name: deploy
-matrix:
- fast_finish: true
- include:
- -
- env: CHECK="check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint"
- stage: static
- -
- env: PUPPET_GEM_VERSION="~> 5.0" CHECK=parallel_spec
- rvm: 2.4.5
- stage: spec
- -
- env: PUPPET_GEM_VERSION="~> 6.0" CHECK=parallel_spec
- rvm: 2.5.3
- stage: spec
- -
- env: DEPLOY_TO_FORGE=yes
- stage: deploy
-branches:
- only:
- - master
- - /^v\d/
-notifications:
- email: false
diff --git a/Gemfile b/Gemfile
index f799be4..b2c38d0 100644
--- a/Gemfile
+++ b/Gemfile
@@ -17,6 +17,14 @@ ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = ruby_version_segments[0..1].join('.')
group :development do
+ gem "parallel_tests", '>= 2.14.1', '< 2.14.3', require: false
+ gem "metadata-json-lint", '>= 2.0.2', '< 3.0.0', require: false
+ gem "rspec-puppet-facts", '~> 1.10.0', require: false
+ gem "rspec_junit_formatter", '~> 0.2', require: false
+ gem "rubocop", '~> 0.49.0', require: false
+ gem "rubocop-rspec", '~> 1.16.0', require: false
+ gem "rubocop-i18n", '~> 1.2.0', require: false
+ gem "puppetlabs_spec_helper", '>= 2.9.0', '< 3.0.0', require: false
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
@@ -25,9 +33,7 @@ group :development do
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-posix-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby]
- gem "puppet-module-posix-dev-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby]
gem "puppet-module-win-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:mswin, :mingw, :x64_mingw]
- gem "puppet-module-win-dev-r#{minor_version}", '~> 0.3', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "github_changelog_generator", require: false, git: 'https://github.com/skywinder/github-changelog-generator', ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')
end
group :system_tests do
diff --git a/README.md b/README.md
index 3460895..95af7c6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,12 @@
# cron_core
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-cron_core/workflows/%5BDaily%5D%20Unit%20Tests%20with%20nightly%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-cron_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-cron_core/workflows/Static%20Code%20Analysis/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-cron_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-cron_core/workflows/Unit%20Tests%20with%20nightly%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-cron_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-cron_core/workflows/Unit%20Tests%20with%20released%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-cron_core/actions)
+
+
#### Table of Contents
1. [Description](#description)