Git Product home page Git Product logo

omnibus-software's Introduction

Omnibus Software

Build Status

Umbrella Project: Chef Foundation

Project State: Active

Issues Response Time Maximum: 14 days

Pull Request Response Time Maximum: 14 days

This repository contains shared software descriptions, for use by any Omnibus project that needs them.

This project is managed by the CHEF Release Engineering team. For more information on the Release Engineering team's contribution, triage, and release process, please consult the CHEF Release Engineering OSS Management Guide.

The main branch of this project corresponds to the main branch of omnibus!

Using Your Own Software Definitions

This repository is the collection of Chef Software's software definitions. We like that others get utility out of them, but they are not meant to be comprehensive collection of all software on the planet. For more information, please read Omnibus, a look forward on the Chef blog.

For more information on writing your own software definitions, please see the Omnibus README.

Versioning

This repository is versioned and tagged using the YY.MM.BUILD to allow folks to be able to access the state of the software definition at a specific point in time. We do however encourage folks to pull in the latest whenever possible.

Contributing

For information on contributing to this project please see our Contributing Documentation

Run Linux Tests in Docker

Run .expeditor/run_linux_tests.sh rake in the ruby image of your choice.

docker run -it --rm -v $PWD:/src -w /src ruby:2.7-buster .expeditor/run_linux_tests.sh rake

Testing On Ubuntu 18.04 via Docker

Interactive Testing

If you want to enter an interactive shell in a dockerized omnibus build environment on Ubuntu 18.04 you can run the following command.

docker-compose run --rm -e SOFTWARE=<SOFTWARE> -e VERSION=<VERSION> builder

# Example
docker-compose run --rm -e SOFTWARE=go -e VERSION=1.17.6 builder

Now you should be in a shell in the container ready to explore, modify or build. The omnibus-software repository will be mounted inside the container which makes it easy to edit code with your editor and test it in the container.

You can start the build by running the following command in your shell.

bundle exec omnibus build test

Omnibus git caching is enabled for the build so you can rerun the build command and it will use the cache for any software that was already successfully built. This can save a lot of time when troubleshooting software that has dependencies on other software that builds fine.

The following command will clean the omnibus project and purge the packages and caches.

bundle exec omnibus clean test --purge

The container will automatically be destroyed when you exit it without requiring any further cleanup.

Non-Interactive Testing

If you only want to run a build without an interactive shell you can set the CI environment variable as you see in the following command.

docker-compose run --rm -e SOFTWARE=<SOFTWARE> -e VERSION=<VERSION> -e CI=true builder

The container will automatically be destroyed when you exit it without requiring any further cleanup.

License & Copyright

  • Copyright:: Copyright (c) 2012-2021 Chef Software, Inc.
  • License:: Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License..

omnibus-software's People

Contributors

tas50 avatar chef-ci avatar lamont-granquist avatar poorndm avatar schisamo avatar sethvargo avatar skeshari12 avatar scotthain avatar jayashrig158 avatar stevendanna avatar tduffield avatar jeremiahsnapp avatar tyler-ball avatar danielsdeleo avatar markan avatar srenatus avatar jaym avatar robbkidd avatar prajaktapurohit avatar thommay avatar smith avatar btm avatar mwrock avatar rhass avatar muthuja avatar adamhjk avatar edolnx avatar johnmccrae avatar tylercloke avatar deepalijagtap avatar

Watchers

James Cloos avatar  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.