From Fedora Project Wiki

m (internal link cleaning)
(Moved continuous integration info to this page. Checked with User:Abhradipm and ci@lists.fedoraproject.org)
Line 1: Line 1:
=This is an Example Page for all Collaborative Idea Pages=
+
= The Manifesto =
==Project name==
 
Example Name
 
==Technology to be used==
 
*Technology 1
 
*Technology 2
 
*Technology 3
 
*Technology 4
 
*Technology 5
 
==Submitted by==
 
[[User:Abhradipm]]
 
==Description==
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah.
 
  
    (Codes)Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
+
A [[CI/Manifesto|Continuous Integration manifesto]] that helps describe the goals, terminology, and rules.
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
 
Blah,Blah,Blah,Blah,Blah,Blah,Blah.
 
  
    (Codes)Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,
+
= Tests locations =
Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah,Blah.
 
  
==Looking for people with expertise in==
+
The tests to be executed are stored in the dist-git repositories]. The tests are stored or wrapped along-side the spec files that describe the software sources. The tests are branched, maintained along with the package or module they pertain to.
*Technology 1
 
*Technology 2
 
*Technology 3
 
*Technology 4
 
*Technology 5
 
==Submit your name below if you want to collaborate==
 
*[[User:Abhradipm]]
 
Please link your user page here instead of just putting your name.
 
  
==System Requirement Specification==
+
Package or RPM specific tests are stored in that package's [https://src.fedoraproject.org/cgit/rpms/|dist-git repository]. Such package repositories will have a <code>rpms/</code> prefix in their name. Other tests refer to larger sets of functionality, [[Modularity|called modules]] and are [https://src.fedoraproject.org/cgit/modules/|stored in a dist-git repository] with <code>modules/</code> prefix in their name.
[[Post_your_collaborative_project_idea#Step_7|Download S.R.S.]]
 
  
==Time Duration==
+
* To checkout a dist-git repo, use [[Package_maintenance_guide|fedpkg tooling]].
We will take 2 months to release first alpha version of the project
+
* To contribute tests to a dist-git repository get a [https://admin.fedoraproject.org/accounts/|Fedora Account].
 +
* Use Pagure.io to contribute to a dist-git repository using a GitHub style interface.
 +
** '''Ready: July 5, 2017'''
 +
** Contact: [[User:Pingou|Pierre Yves-Chibon]]
 +
* To move or wrap downstream tests to Fedora, use https://upstreamfirst.fedorainfracloud.org/
 +
** Contact: [[User:Tflink|Tim Flink]]
 +
 
 +
= Test format =
 +
 
 +
Tests may be written all sorts of different ways, but have to be exposed and invoked in a standard way. They are stored or wrapped in the <code>tests/</code> directory in a dist-git repository. There is a detailed description of how this is done:
 +
 
 +
* [[Changes/InvokingTests|Standard Spec for Invoking Tests]]
 +
 
 +
= Gating =
 +
 
 +
When a test fails, continuous integration will be able to prevent the broken package change from affecting other changes. That gating will happen in Bodhi. Packages in the core operating system, such as those in [https://getfedora.org/en/atomic/|Fedora Atomic Host] are most interesting for gating, as when they break they affect the most users.
 +
 
 +
* Modules and packages will be able to opt into gating.
 +
* '''Ready: August 2017'''
 +
 
 +
= Testing pipeline =
 +
 
 +
The [[FedoraAtomicCI/pipeline|pipeline is described here]].

Revision as of 16:55, 18 June 2017

The Manifesto

A Continuous Integration manifesto that helps describe the goals, terminology, and rules.

Tests locations

The tests to be executed are stored in the dist-git repositories]. The tests are stored or wrapped along-side the spec files that describe the software sources. The tests are branched, maintained along with the package or module they pertain to.

Package or RPM specific tests are stored in that package's repository. Such package repositories will have a rpms/ prefix in their name. Other tests refer to larger sets of functionality, called modules and are in a dist-git repository with modules/ prefix in their name.

Test format

Tests may be written all sorts of different ways, but have to be exposed and invoked in a standard way. They are stored or wrapped in the tests/ directory in a dist-git repository. There is a detailed description of how this is done:

Gating

When a test fails, continuous integration will be able to prevent the broken package change from affecting other changes. That gating will happen in Bodhi. Packages in the core operating system, such as those in Atomic Host are most interesting for gating, as when they break they affect the most users.

  • Modules and packages will be able to opt into gating.
  • Ready: August 2017

Testing pipeline

The pipeline is described here.