All Projects → PaulRosset → Previs

PaulRosset / Previs

Licence: mit
🎯 Testing your project locally in a clean environment.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Previs

Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (-63.14%)
Mutual labels:  devops, devops-tools, ci
Iceci
IceCI is a continuous integration system designed for Kubernetes from the ground up.
Stars: ✭ 29 (-90.71%)
Mutual labels:  devops, devops-tools, ci
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+1353.21%)
Mutual labels:  devops, devops-tools, continuous-testing
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (-30.45%)
Mutual labels:  devops, devops-tools, ci
CI-Report-Converter
The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).
Stars: ✭ 17 (-94.55%)
Mutual labels:  ci, test
phpci-installer
PHPCI Easy Installer for Laravel Homestead
Stars: ✭ 19 (-93.91%)
Mutual labels:  ci, continuous-testing
xray-action
... a GitHub action to import test results into "Xray" - A complete Test Management tool for Jira.
Stars: ✭ 16 (-94.87%)
Mutual labels:  ci, test
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-84.62%)
Mutual labels:  ci, continuous-testing
Gg Shield Action
GitGuardian Shield GitHub Action - Find exposed credentials in your commits
Stars: ✭ 248 (-20.51%)
Mutual labels:  devops, ci
local-data-api
Data API for local, you can write unittest for AWS Aurora Serverless's Data API
Stars: ✭ 99 (-68.27%)
Mutual labels:  local, test
Kubernetes Workshop
⚙️ A Gentle introduction to Kubernetes with more than just the basics. 🌟 Give it a star if you like it.
Stars: ✭ 3,122 (+900.64%)
Mutual labels:  devops, devops-tools
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (-91.67%)
Mutual labels:  ci, continuous-testing
unity-test-runner
Run tests for any Unity project
Stars: ✭ 134 (-57.05%)
Mutual labels:  ci, test
prettier
🔨 Native, blazingly-fast Prettier CLI on Github Actions
Stars: ✭ 19 (-93.91%)
Mutual labels:  ci, continuous-testing
Miller
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
Stars: ✭ 4,633 (+1384.94%)
Mutual labels:  devops, devops-tools
action-junit-report
Reports junit test results as GitHub Pull Request Check
Stars: ✭ 103 (-66.99%)
Mutual labels:  ci, test
changie
Automated changelog tool for preparing releases with lots of customization options
Stars: ✭ 180 (-42.31%)
Mutual labels:  ci, devops-tools
rasa-train-test-gha
A GitHub action to run easily rasa train and rasa test in the CIs.
Stars: ✭ 26 (-91.67%)
Mutual labels:  ci, test
Salt Scanner
Linux vulnerability scanner based on Salt Open and Vulners audit API, with Slack notifications and JIRA integration
Stars: ✭ 261 (-16.35%)
Mutual labels:  devops, devops-tools
Alloy ci
Continuous Integration, Deployment, and Delivery coordinator, written in Elixir.
Stars: ✭ 274 (-12.18%)
Mutual labels:  ci, continuous-testing


previs


Previs

 🎯 Use Travis configuration to run stuff locally in a clean environment.

Travis CI Build Status Snap Status Previs latest version

Motivation

Your very own local way of testing!

Previs is using the travis configuration mechanism to provide your own local service of continuous integration. No more accidental error that trigger a fail build, no more plumbing on your git history. But more than a local travis, it provides you a way of testing in a sandboxed environment and more...

Previs is also providing a way to run things in a clean environment with no side effect thank's to Docker.

Previs is still in active development.

Installation

Previs is using docker at his heart, so of course you will need the docker daemon.
One of the simplest way to install it, it's by using the bash script:

$> curl -fsSL get.docker.com -o get-docker.sh
$> sh get-docker.sh

If you are on Mac, it's here

You may have some trouble with permissions when attempting to run docker, if so, run the following command: sudo usermod -a -G docker $USER
If the issue still persists, reboot your system.

Snap packager for Linux users

Previs is snapped. He is using snapcraft which made very easy to install on linux system. The snapped software are updated automatically.
You have to run two commands and you will be ready to use Previs:

  • $> sudo apt install snapd
  • $> sudo snap install previs

As mentionned in !8, we let the possibility to still install the previous (0.4.1) version with the lighter image, so if you want the lighter image with less features:

  • $> sudo snap install --edge previs
    However if you want the latest release (0.5.0) with the official travis image:
  • $> sudo snap install --beta previs

For others package manager see.

Snap binary are located in /snap/bin/, make sure it is integrated in your $PATH env.

For others users

If you run an other operating system or you don't want to install it via snap, you can still install it "manually" by installing Go first, then by doing:

  • $> go get -v github.com/PaulRosset/previs

Then make sure that your env variable $PATH contain the path where the go binary live.

Or you can still download the binary of release.

How to use Previs

Previs is simple to use, he is using the travis mechanism to run 'things' in a clean environment.

However, since we are running things locally, we can't reproduce everythings that Travis is providing, so when the .travis.yml get too complex, you have the possibility to switch on a custom file named .previs.yml, then previs will take the configuration of the .previs.yml.

Once you are at the root of your repository where the .travis.yml or .previs.yml is, you can launch:

$> previs [-p]

The -p command indicate to previs to take the configuration of the .previs.yml instead of the .travis.yml.

!IMPORTANT
Go find out how Previs work right now and know more what you can do before using it, by checking out our Wiki

Previs understand a failed build when the program ran is returning other than the 0 exit code.

Testing

Concerning the workflow of testing, rather than create unit tests on multiple call systems that already been tested especially docker calls, we instead run the program in real world use case to verify nothing broke and prevent regressions.
To understand it, you can check out the .travis.yml file that serve th is purpose.

On the other hand, for the configuration parsing of Travis mechanism, we have a package travis that is only doing this purpose and where some tests resides.

Contribute

Any contributions is very welcomed, let's do something bigger and stronger together!

Points that will be improved:

  • Improve the way of the docker images are wrote before build
  • Adding support for more commands
  • Clean when aborting via SIGNALs

License

MIT
Paul Rosset

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].