diff options
| -rw-r--r-- | .github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml | 58 | ||||
| -rw-r--r-- | .github/workflows/static_code_analysis.yaml | 41 | ||||
| -rw-r--r-- | .github/workflows/unit_test_with_released_puppet_gem.yaml | 48 | ||||
| -rw-r--r-- | .github/workflows/unit_tests_with_nightly_puppet_gem.yaml | 60 | ||||
| -rw-r--r-- | .travis.yml | 45 | ||||
| -rw-r--r-- | Gemfile | 10 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | appveyor.yml | 56 | 
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_test_with_released_puppet_gem.yaml b/.github/workflows/unit_test_with_released_puppet_gem.yaml new file mode 100644 index 0000000..5d044cd --- /dev/null +++ b/.github/workflows/unit_test_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/.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/.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 @@ -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 @@ -1,6 +1,12 @@  # host_core +[](https://github.com/puppetlabs/puppetlabs-host_core/actions) +[](https://github.com/puppetlabs/puppetlabs-host_core/actions)  +[](https://github.com/puppetlabs/puppetlabs-host_core/actions)  +[](https://github.com/puppetlabs/puppetlabs-host_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  | 
