GithubHelp home page GithubHelp logo

shubhamshinde360 / beaker-pe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from puppetlabs/beaker-pe

0.0 0.0 0.0 934 KB

Puppet Enterprise (PE) Beaker Library

License: Apache License 2.0

Shell 0.19% Ruby 99.81%

beaker-pe's Introduction

beaker-pe

The Puppet Enterprise (PE) Beaker Library

What is This Thing?

The PE Beaker library contains all PE-specific

  1. installation methods
  2. helpers

that help someone acceptance test PE easier with Beaker.

Documentation

  • Rubydocs contain the technical reference for APIs and other aspects of beaker-pe. They describe how it works and how to use it but assume that you have a basic understanding of key concepts.
  • How-to guides are recipes. They guide you through the steps involved in addressing key problems and use-cases. For instance, checkout our How-to Install Puppet Enterprise doc.

Upgrading from 0.y to 1.y?

If you've used beaker-pe previously (during the 0.y versions), you'll have to change the way that you include beaker-pe for 1.y versions & beyond.

Before, you could just include beaker itself and you'd get beaker-pe because beaker required beaker-pe. With beaker 3.0, this dependency has been taken out of beaker. Now to use beaker-pe, you'll have to do two things:

  1. add a beaker-pe requirement as a sibling to your current beaker gem requirement
  2. put a require 'beaker-pe' statement in your tests/code that need beaker-pe-specific functionality

Gem Installing

Spec tests require a version of scooter that is private. Execute export GEM_SOURCE=https://artifactory.delivery.puppetlabs.net/artifactory/api/gems/rubygems/ prior to running bundle install --path .bundle/gems/.

Spec Testing

Spec tests all live under the spec folder. These are the default rake task, & so can be run with a simple bundle exec rake, as well as being fully specified by running bundle exec rake test:spec:run or using the test:spec task.

There are also code coverage tests built into the template, which can be run with spec testing by running the test:spec:coverage rake task.

Acceptance Testing

Acceptance tests live in the acceptance/tests folder. These are Beaker tests, & are dependent on having Beaker installed. Note that this will happen with a bundle install execution, but can be avoided if you're not looking to run acceptance tests by ignoring the acceptance_testing gem group.

You can run the acceptance testing suite by invoking the test:acceptance rake task. It should be noted that this is a shortcut for the test:acceptance:quick task, which is named as such because it uses no pre-suite. This uses a default provided hosts file for acceptance under the acceptance/config directory. If you'd like to provide your own hosts file, set the CONFIG environment variable.

Releasing

Prerequisites (without these steps you will almost certainly hit API rate limits):

  1. Generate an API token with repository permissions and authorize the Puppet organization after generating.
  2. Export that token as CHANGELOG_GITHUB_TOKEN

Open a release prep PR and run the release action:

  1. Bump the "version" parameter in lib/beaker-pe/version.rb appropriately based merged pull requests since the last release.
  2. Run ./release-prep to update Gemfile.lock and CHANGELOG.md.
  3. Commit and push changes to a new branch, then open a pull request against main and be sure to add the "maintenance" label.
  4. After the pull request is approved and merged, then navigate to Actions --> Release Action --> run workflow --> Branch: main --> Run workflow.

Questions

If you have questions, please reach out to our MAINTAINERS.

beaker-pe's People

Contributors

puppetlabs-jenkins avatar kevpl avatar jpartlow avatar yachub avatar dependabot[bot] avatar tvpartytonight avatar shaigy avatar nmburgan avatar ericwilliamson avatar steveax avatar highb avatar dakta avatar actowery avatar nicklewis avatar donoghuc avatar e-gris avatar barleyj-puppet avatar smcelmurry avatar zreichert avatar barriserloth avatar mwbutcher avatar cthorn42 avatar puppet-release-bot avatar phongdly avatar mihaibuzgau avatar shubhamshinde360 avatar nwolfe avatar mikaelsmith avatar justinstoller avatar jonathannewman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.