-
Notifications
You must be signed in to change notification settings - Fork 193
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(MODULES-10800) Add GitHub Actions workflows
Added GitHub Actions workflows for `Static Code Analysis`, `Unit Tests` and `Task Acceptance 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 file for `Travis` has been removed.
- Loading branch information
1 parent
3faaa19
commit 7777618
Showing
7 changed files
with
257 additions
and
47 deletions.
There are no files selected for viewing
56 changes: 56 additions & 0 deletions
56
.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
--- | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
name: Static Code Analysis | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
jobs: | ||
static_code_analysis: | ||
name: Run checks | ||
|
||
env: | ||
ruby_version: 2.5 | ||
|
||
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 commits check | ||
run: bundle exec rake commits | ||
|
||
- name: Run validate check | ||
run: bundle exec rake validate | ||
|
||
- name: Run lint check | ||
run: bundle exec rake lint | ||
|
||
- name: Run metadata_lint check | ||
run: bundle exec rake metadata_lint | ||
|
||
- name: Run syntax check | ||
run: bundle exec rake syntax syntax:hiera syntax:manifests syntax:templates | ||
|
||
- name: Run rubocop check | ||
run: bundle exec rake rubocop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
name: Task Acceptance Tests | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
jobs: | ||
task_acceptance_tests: | ||
name: On ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ 'centos-7', 'ubuntu-18.04' ] | ||
|
||
env: | ||
ruby_version: 2.4 | ||
GEM_BOLT: true | ||
BEAKER_debug: true | ||
BEAKER_set: docker/${{ matrix.os }} | ||
|
||
runs-on: 'ubuntu-18.04' | ||
steps: | ||
- name: Checkout current PR code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install docker | ||
uses: docker/setup-buildx-action@v1 | ||
id: buildx | ||
with: | ||
install: true | ||
|
||
- 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 task acceptance tests | ||
run: cd task_spec && bundle exec rake task_acceptance |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
--- | ||
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 |
47 changes: 47 additions & 0 deletions
47
.github/workflows/unit_tests_with_released_puppet_gem.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
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 }} | ||
continue-on-error: true | ||
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 update --jobs 4 --retry 3 | ||
- name: Run unit tests | ||
run: bundle exec rake parallel_spec |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters