aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormihaibuzgau <mihaibuzgau@users.noreply.github.com>2020-09-10 15:27:19 +0300
committerGitHub <noreply@github.com>2020-09-10 15:27:19 +0300
commit868382132a7e9408dbfd93d79d6436018b9da30d (patch)
tree6ce3b661aa0521cb19dce5af0d610b5e154157ff
parent9a9468b93b428e04ae24408d49054b09ce61a04d (diff)
parent7094bff8501662d2017b325b00a8c8084f9f1d9e (diff)
downloadpuppet-sshkeys_core-868382132a7e9408dbfd93d79d6436018b9da30d.tar.gz
puppet-sshkeys_core-868382132a7e9408dbfd93d79d6436018b9da30d.tar.bz2
Merge pull request #37 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
-rw-r--r--appveyor.yml56
8 files changed, 221 insertions, 103 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 d6f1701..abc44c9 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 "puppet-strings", require: false
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
diff --git a/README.md b/README.md
index c045df9..e3eac9b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,12 @@
# sshkeys_core
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-sshkeys_core/workflows/%5BDaily%5D%20Unit%20Tests%20with%20nightly%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-sshkeys_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-sshkeys_core/workflows/Static%20Code%20Analysis/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-sshkeys_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-sshkeys_core/workflows/Unit%20Tests%20with%20nightly%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-sshkeys_core/actions)
+[![Modules Status](https://github.com/puppetlabs/puppetlabs-sshkeys_core/workflows/Unit%20Tests%20with%20released%20Puppet%20gem/badge.svg?branch=main)](https://github.com/puppetlabs/puppetlabs-sshkeys_core/actions)
+
+
## Table of Contents
1. [Description](#description)
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index ec38949..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,56 +0,0 @@
----
-version: 1.1.x.{build}
-branches:
- only:
- - master
- - release
-skip_commits:
- message: /^\(?doc\)?.*/
-clone_depth: 10
-init:
- - SET
- - 'mkdir C:\ProgramData\PuppetLabs\code && exit 0'
- - 'mkdir C:\ProgramData\PuppetLabs\facter && exit 0'
- - 'mkdir C:\ProgramData\PuppetLabs\hiera && exit 0'
- - 'mkdir C:\ProgramData\PuppetLabs\puppet\var && exit 0'
-environment:
- matrix:
- -
- RUBY_VERSION: 24-x64
- CHECK: syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
- -
- PUPPET_GEM_VERSION: ~> 5.0
- RUBY_VERSION: 24
- CHECK: parallel_spec
- -
- PUPPET_GEM_VERSION: ~> 5.0
- RUBY_VERSION: 24-x64
- CHECK: parallel_spec
- -
- PUPPET_GEM_VERSION: ~> 6.0
- RUBY_VERSION: 25
- CHECK: parallel_spec
- -
- PUPPET_GEM_VERSION: ~> 6.0
- RUBY_VERSION: 25-x64
- CHECK: parallel_spec
-matrix:
- fast_finish: true
-install:
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
- - bundle install --jobs 4 --retry 2 --without system_tests
- - type Gemfile.lock
-build: off
-test_script:
- - bundle exec puppet -V
- - ruby -v
- - gem -v
- - bundle -v
- - bundle exec rake %CHECK%
-notifications:
- - provider: Email
- to:
- - nobody@nowhere.com
- on_build_success: false
- on_build_failure: false
- on_build_status_changed: false