aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuchian Nemes <luchian.nemes@puppet.com>2020-09-08 17:48:41 +0300
committerLuchian Nemes <luchian.nemes@puppet.com>2020-09-10 14:52:14 +0300
commit7094bff8501662d2017b325b00a8c8084f9f1d9e (patch)
tree6ce3b661aa0521cb19dce5af0d610b5e154157ff
parent455cb1c96f306769877fa1cb133025d28e8d8f92 (diff)
downloadpuppet-sshkeys_core-7094bff8501662d2017b325b00a8c8084f9f1d9e.tar.gz
puppet-sshkeys_core-7094bff8501662d2017b325b00a8c8084f9f1d9e.tar.bz2
(MODULES-10800) Add GitHub Actions workflows
Added GitHub Actions workflows for `Static Code Analysis` and `Unit Tests` that run each time there is a new `pull request` or `git push`. `Unit tests` are also set to run every workday at `05:00:00 UTC`. The `.yaml` config files of `Travis` and `AppVeyor` have been removed.
-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--README.md6
-rw-r--r--appveyor.yml56
7 files changed, 213 insertions, 101 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/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