Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use catalog-info.yaml for release metadata. Get rid of openedx.yaml #526

Merged
merged 5 commits into from
Oct 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,16 @@ OEP-2: Repository Metadata
* - Arbiter
- Calen Pennington <cale@edx.org>
* - Status
- Accepted
- Replaced
* - Type
- Best Practice
* - Created
- 2016-04-21

.. warning::

This OEP has been replaced with :doc:`/processes/oep-0055/decisions/0004-release-data-in-catalog-info-files`.

Abstract
********

Expand Down
44 changes: 12 additions & 32 deletions oeps/processes/oep-0010-proc-openedx-releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -144,39 +144,13 @@ Releases will be tagged "open-release/RELEASENAME.1",
Involving repos in the Open edX build process
=============================================

:doc:`OEP-2 </best-practices/oep-0002-bp-repo-metadata>` defines a file format for repository metadata. The
``openedx-release`` key is an optional dictionary governing the participation
of the repo in the Open edX release process.

Repos for applications and IDAs that are part of the Open edX software need to
have the ``openedx-release`` key. Libraries that are part of Open edX do not
need the key, because they will be pulled in by whatever component uses them as
a dependency.

``openedx-release``: dictionary (optional)

Possible keys:

``ref``
The name of the release-from branch in this repo. This is the branch
that will be tagged when an Open edX release is made.

``maybe``
A boolean, but only ever "true" if present. This key is created by the
repo initialization tool (cookiecutter). If it is present, the repo
will be skipped during releases, but will be flagged so the release
manager can start a conversation with the repo owner to determine if
the repo should be included.

Obsolete keys:

``requirements``
This key is obsolete, and can be removed.

``parent-repo``
This key is obsolete. It was used by libraries. Repos marked with this
key should have the entire ``openedx-release`` key removed.
:doc:`/processes/oep-0055/decisions/0004-release-data-in-catalog-info-files`
defines annotations the ``catalog-info.yaml`` metadata file that can be used to
indicate that a repo needs to be tagged for releases.

Details can be found in the above ADR but in summary there will be a new catalog
annotation by the name of ``openedx.org/release`` that will indicate whether or
not a given repo should be tagged for Open edX releases.

Installing Open edX
===================
Expand All @@ -200,6 +174,12 @@ There are two supported installation methods:
Change History
**************

2023-09-28
==========

* Reference catalog-info.yaml instead of OEP-2 for where we store
release metadata.

2022-02-24
==========

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Status
******

**Provisional**
**Accepted**

Context
*******
Expand Down Expand Up @@ -123,6 +123,9 @@ References
# names that might be interested in changes to the architecture of this
# component.
openedx.org/arch-interest-groups: "feanil"
# (Optional) We use the below annotation to indicate whether or not this
# repository should be tagged for openedx releases and which branch is tagged.
openedx.org/release: "main"
spec:

# (Required) This can be a group (`group:<github_group_name>`) or a user (`user:<github_username>`).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Status
******

** Accepted **
**Accepted**

Context
*******
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
0004 Release Data in catalog-info.yaml
######################################

Status
******

**Accepted**

Context
*******

* Currently we have 2 high-level metadata files that will live in every repo. The ``openedx.yaml`` file and the ``catalog-info.yaml`` file.

* The only information in ``openedx.yaml`` that is still useful and kept up-to-date is the ``release`` tag that tells you what repos are part of the twice-annual Open edX release.

Decision
********

We will use metadata in the ``catalog-info.yaml`` file to determine whether or not a repository is going to be tagged for Open edX releases.

Specification
*************

The data will be housed in a new annotation by the name of ``openedx.org/release``. Non-null values of this key will indicate the branch that should be tagged for releases.

.. code-block:: yaml
:caption: Annotating that the ``master`` branch should be tagged for new releases.

metadata:
annotations:
openedx.org/release: "master"

.. code-block:: yaml
:caption: Annotating that the ``main`` branch should be tagged for new releases.

metadata:
annotations:
openedx.org/release: "main"

.. code-block:: yaml
:caption: Annotating that no branch should be tagged for new releases. This is the same as if the annotation was not added in the first place but more explicit.

metadata:
annotations:
openedx.org/release: null


Consequences
************

* :doc:`/archived/oep-0002-bp-repo-metadata` will be marked as superseded as it contains no more useful data.

* `Tooling related to the release <https://github.com/openedx/repo-tools/tree/master/edx_repo_tools/release>`_ will need to be updated.

* Useful release data in the current ``openedx.yaml`` files will need to be migrated to the relevant catalog-info.yaml files.

* Any examples of ``catalog-info.yaml`` will need to be updated to include an example of the new annotation.
3 changes: 2 additions & 1 deletion oeps/redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@
"processes/oep-0025-proc-incremental-improvements.rst" "archived/oep-0025-proc-incremental-improvements.rst"
"architectural-decisions/oep-0023-style-customization.rst" "archived/oep-0023-style-customization.rst"
"best-practices/oep-0016-bp-adopt-bootstrap.rst" "archived/oep-0016-bp-adopt-bootstrap.rst"
"architectural-decisions/oep-0014-proc-archive-repos.rst" "processes/oep-0014-proc-archive-repos.rst"
"architectural-decisions/oep-0014-proc-archive-repos.rst" "processes/oep-0014-proc-archive-repos.rst"
"best-practices/oep-0002-bp-repo-metadata.rst" "archived/oep-0002-bp-repo-metadata.rst"