From Fedora Project Wiki

Revision as of 16:51, 2 December 2010 by Jlaska (talk | contribs) (Attempt to future proof this page by using {{FedoraVersion}} template in EOL section)

QA.png


With each new development release of Fedora (aka Branched), new package repositories are available for testing. This page describes the changes to the AutoQA repoinfo.conf file needed to accommodate a new release of Fedora.

Introduction

Leading up to each release, the rawhide development stream is branched. Branching results in two parallel development streams, called rawhide and branched. As always, rawhide continues to track the latest and greatest development intended for future releases of Fedora. While, branched is intended for stabilization of the upcoming Fedora release.

The branch date can be found on the release engineering schedule.

When to Update

The repoinfo.conf file will need to change whenever a new package repository is available, the location of an existing repository changes or we no longer want to support an existing repository. The most common scenarios where this happens are:

  1. When Fedora branches to stabilize the upcoming Fedora release
  2. When Fedora is released
  3. When Fedora support has ended (it's EOL'd)

The AutoQA team will be notified by the release engineering or infrastructure teams when either of the above events occur. An AutoQA TRAC ticket will be filed to request the repoinfo.conf changes (see Mass_Branching_SOP#Update_AutoQA_repoinfo.conf, Release_Infrastructure_SOP#Step_5_.28AutoQA_repoinfo.conf.29 and End_of_life_SOP#AutoQA).

What To Update

New Fedora Branch

When a new Fedora branch release is available, the following changes are required.

  1. Update the the [rawhide] configuration. Change the value of tag to the koji tag for the next release. For example, if branching for Fedora 40, you would set tag - dist-f41 as shown below:
    [rawhide]
    arches = i386, x86_64
    path = development/rawhide
    url = %(rawhideurl)s
    tag = dist-f41
    collection_name = devel
    
  2. Create new config sections for the current branch. A section will be needed for each of the package repositories available. For example, if branching for Fedora 40, you would use the configuration listed below.
    [f40]
    path = development/40
    url = %(rawhideurl)s
    collection_name = F-40
    composes = yes
    
    [f40-updates]
    path = 40
    url = %(updatesurl)s
    parents = f40
    collection_name = F-40
    
    [f40-updates-testing]
    path = testing/40
    url = %(updatesurl)s
    parents = f40-updates, f40
    collection_name = F-40
    

New Fedora Release

When a new release of Fedora is available, the following changes are required.

  1. Update the existing configuration for the recently released version of Fedora. For example, if Fedora 40 was just released, you would need to update the values for path and url as listed below.
    [f40]
    path = 40
    url = %(goldurl)s
    collection_name = F-40
    

Fedora support ended

When a Fedora release reaches its End of Life (EOL), the following changes are required.

  1. Remove the sections corresponding to the EOL'd release. For example, when Fedora 37 reaches EOL, the following sections would be removed:
    [f37]
    isactiverelease = yes
    path = 37
    url = %(goldurl)s
    collection_name = F-37
    
    [f37-updates]
    path = 37
    url = %(updatesurl)s
    parents = f37
    collection_name = F-37
    
    [f37-updates-testing]
    path = testing/37
    url = %(updatesurl)s
    parents = f37-updates, f37
    collection_name = F-37
    

How to Update

Please use git to generate and submit patches for review by the AutoQA development team. For information on AutoQA patch, please see AutoQA_Patch_Process#Patch_submission

Important.png
Updating repoinfo.conf manually
When manually updating the repoinfo.conf file on a running AutoQA instance, it is important to update the file on both the server and all test clients. Failing to update the configuration file on the clients will result in incorrect repository information when tests are executed on clients.