Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(GH-1039) Acceptance tests for Linux on GHActions Workflow #1040

Merged
merged 4 commits into from
Apr 7, 2021
Merged

(GH-1039) Acceptance tests for Linux on GHActions Workflow #1040

merged 4 commits into from
Apr 7, 2021

Conversation

sanfrancrisko
Copy link
Contributor

@sanfrancrisko sanfrancrisko commented Mar 26, 2021

This PR adds acceptance tests on Linux as a Github Action Workflow.

It also removes .travis.yml, disabling CI tests from executing on
TravisCI, now we have parity on Github Actions.

The following dependencies were added to the acceptance_ci Gem
group:

  • puppet_litmus
  • puppetlabs_spec_helper

Litmus is used to provision a Docker container from the official
Ruby Docker hub. Currently this is only 2.5 as more work is
required to get acceptance tests operational on 2.7.

Bolt is used to configure the container for test execution by:

  • Checking out the current repo + branch
  • Performing a bundle install

Then, again, using Bolt, the tests are kicked off within the
container using the acceptance:local_parallel Rake task.

In all cases (i.e. no matter the previous steps exit codes), the
container will be torn down using the litmus:tear_down Rake task.

The test matrix can be extended by adding more options to the
include param. E.g.

include:
  - provider: docker
    ruby_version: 2.7
    image: ruby:2.7

The provider parameter is any of the supported provisioners
available to Litmus from the provision
repo of Bolt tasks.

The image parameter is specific to the provider specified. For
the Docker provisioner, this is the usual name:[:tag|@digest]
format.

TODO

  • Resolve issues with license_finder flagging puppet_litmus

Closes: #1039

@sanfrancrisko sanfrancrisko added maintenance Internal maintenance work that shouldn't appear in the changelog ci labels Mar 26, 2021
@sanfrancrisko sanfrancrisko linked an issue Mar 26, 2021 that may be closed by this pull request
2 tasks
@codecov
Copy link

codecov bot commented Mar 26, 2021

Codecov Report

Merging #1040 (6239151) into main (467698f) will decrease coverage by 0.08%.
The diff coverage is n/a.

❗ Current head 6239151 differs from pull request most recent head bc386f6. Consider uploading reports for the commit bc386f6 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1040      +/-   ##
==========================================
- Coverage   91.27%   91.19%   -0.09%     
==========================================
  Files         138      138              
  Lines        5511     5563      +52     
==========================================
+ Hits         5030     5073      +43     
- Misses        481      490       +9     
Impacted Files Coverage Δ
lib/pdk/generate/transport.rb 78.57% <0.00%> (-4.77%) ⬇️
lib/pdk/generate/task.rb 89.65% <0.00%> (-2.66%) ⬇️
lib/pdk/validate/external_command_validator.rb 92.53% <0.00%> (-1.41%) ⬇️
lib/pdk/cli/release.rb 50.00% <0.00%> (-1.17%) ⬇️
lib/pdk/util/ruby_version.rb 89.74% <0.00%> (-1.05%) ⬇️
lib/pdk/util/puppet_version.rb 94.69% <0.00%> (-0.69%) ⬇️
lib/pdk/module/build.rb 71.68% <0.00%> (-0.65%) ⬇️
lib/pdk/cli/util.rb 98.01% <0.00%> (-0.63%) ⬇️
lib/pdk/util.rb 100.00% <0.00%> (ø)
lib/pdk/module.rb 100.00% <0.00%> (ø)
... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 467698f...bc386f6. Read the comment docs.

@sanfrancrisko sanfrancrisko marked this pull request as ready for review March 31, 2021 12:18
@sanfrancrisko sanfrancrisko requested a review from a team as a code owner March 31, 2021 12:18
Ciaran McCrisken and others added 4 commits April 7, 2021 12:09
This PR adds acceptance tests on Linux as a Github Action Workflow.

It also removes .travis.yml, disabling CI tests from executing on
TravisCI, now we have parity on Github Actions.

The following dependencies were added to the `acceptance_ci` Gem
group:

- `puppet_litmus`
- `puppetlabs_spec_helper`

Litmus is used to provision a Docker container from the official
Ruby Docker hub. Currently this is only `2.5` as more work is
required to get acceptance tests operational on `2.7`.

Bolt is used to configure the container for test execution by:

- Checking out the current repo + branch
- Performing a `bundle install`

Then, again, using Bolt, the tests are kicked off within the
container using the `acceptance:local_parallel` Rake task.

In all cases (i.e. no matter the previous steps exit codes), the
container will be torn down using the `litmus:tear_down` Rake task.

The test matrix can be extended by adding more options to the
`include` param. E.g.

```
include:
  - provider: docker
    ruby_version: 2.7
    image: ruby:2.7
```

The `provider` parameter is any of the supported provisioners
available to Litmus from the [provision](https://github.com/puppetlabs/provision)
repo of Bolt tasks.

The `image` parameter is specific to the `provider` specified. For
the Docker provisioner, this is the usual `name:[:tag|@digest]`
format.
* Add "BSD" as standard permissive license
* Add "2-clause BSDL" as standard permissive license
* dig up original source for log4r 1.1.10 on github which has LGPLv3 attached
Copy link
Contributor

@jpogran jpogran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jpogran jpogran merged commit b632be6 into puppetlabs:main Apr 7, 2021
@sanfrancrisko sanfrancrisko deleted the GH-1039/main/ghactions_linux_accept_tests branch April 8, 2021 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci maintenance Internal maintenance work that shouldn't appear in the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Acceptance tests on Linux using Github Actions Workflow
3 participants