Project

fuci

0.0
No commit activity in last 3 years
No release in over 3 years
FUCK YOU CI
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

Fuci

Build Status

A base gem providing the general case for running CI failures locally.

Installation

Add this line to your fuci extension's Gemspec:

Gem::Specification.new do |spec|
  ...
  spec.add_dependency 'fuci', '~> 0.4'
  ...
end

Known server extensions

Native command-line options

Run the failed tests from your last fuci command.

$ fuci --last

or

$ fuci -l

Usage

Creating server extensions

Configuring Fuci base with the server

Somewhere in the required code of the server extension, the server must be set like so:

Fuci.configure do |fu|
  fu.server = Fuci::MyCiAgent::ServerClass
end

or

module Fuci
  configure do |fu|
    fu.server = Fuci::MyCiAgent::ServerClass
  end

  module MyCiAgent
    ...
    ...
  end
end

The ServerClass in this example must be an initializable constant whose instance implements the server interface.

The server interface

The Fuci::Server interface class that tells what the runner expects of server extensions. As of this version, it expects two methods: #build_status and #fetch_log. See that file for more details on what they should return.

The binstub

Server extensions should ship with their own binstub. fuci is preffered. It's short and easy to type. To avoid possible conflicts between local server extensions, prefer that users execute bundle binstubs <server-extension>.

Fuci binstubs should do the following:

  • Require the extension
  • Load a configuration file, if necessary
  • Call Fuci.run

Creating tester extensions

Coming soon...

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request