Skip to content

Commit

Permalink
Merge pull request #3270 from swcurran/move-to-owf
Browse files Browse the repository at this point in the history
Update MDs and release publishing files to reflect the repo move to OWF
  • Loading branch information
swcurran authored Oct 9, 2024
2 parents 06d1cf8 + bfd1097 commit 2dbea90
Show file tree
Hide file tree
Showing 72 changed files with 552 additions and 576 deletions.
19 changes: 9 additions & 10 deletions LTS-Strategy.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LTS Strategy
# ACA-Py LTS Strategy

This document defines the Long-term support (LTS) release strategy for Hyperledger Aries Cloud Agent Python (ACA-Py). This document is inspired from the [Hyperledger Fabric Release Strategy](https://github.com/hyperledger/fabric-rfcs/blob/main/text/0005-lts-release-strategy.md).
This document defines the Long-term support (LTS) release strategy for ACA-Py. This document is inspired from the [Hyperledger Fabric Release Strategy](https://github.com/hyperledger/fabric-rfcs/blob/main/text/0005-lts-release-strategy.md).

Long-term support definition from wikipedia.org:

Expand All @@ -10,14 +10,14 @@ Long-term support definition from wikipedia.org:
## Motivation

Many of those using ACA-Py rely upon the [Docker images](https://github.com/hyperledger/aries-cloudagent-python/pkgs/container/aries-cloudagent-python) which are published nightly and the [releases](https://github.com/hyperledger/aries-cloudagent-python/releases). These images contain the project dependencies/libraries which need constant security vulnerability monitoring and patching.
Many of those using ACA-Py rely upon the [Docker images](https://github.com/openwallet-foundation/acapy/pkgs/container/acapy-agent) which are published nightly and the [releases](https://github.com/openwallet-foundation/acapy/releases). These images contain the project dependencies/libraries which need constant security vulnerability monitoring and patching.

This is one of the factors which motivated setting up the LTS releases which requires the docker images to be scanned regularly and patching them for vulnerabilies.
This is one of the factors which motivated setting up the LTS releases which requires the docker images to be scanned regularly and patching them for vulnerabilities.

In addition to this, administrators can expect the following of a LTS release:

- Stable and well-tested code
- A list of supported RFCs and features for each LTS version from this [document](https://github.com/hyperledger/aries-cloudagent-python/blob/main/docs/features/SupportedRFCs.md).
- A list of supported RFCs and features for each LTS version from this [document](https://github.com/openwallet-foundation/acapy/blob/main/docs/features/SupportedRFCs.md).
- Minimal set of feature additions and other changes that can easily be applied, reducing the risk of functional regressions and bugs

Similarly, there are benefits to ACA-Py maintainers, code contributors, and the wider community:
Expand All @@ -43,26 +43,25 @@ If a major release is not delivered for an extended period of time, the maintain

### LTS 3rd Digit Patch Releases

For LTS releases, 3rd digit patch releases will be provided for bug and security fixes approximately every three months based on the fixes (or lack thereof) to be applied. In order to ensure the stability of the LTS release and reduce the risk of functional regressions and bugs, significant new features and other changes occuring on the `main` branch, and released in later minor or major versions will not be included in LTS patch releases.
For LTS releases, 3rd digit patch releases will be provided for bug and security fixes approximately every three months based on the fixes (or lack thereof) to be applied. In order to ensure the stability of the LTS release and reduce the risk of functional regressions and bugs, significant new features and other changes occurring on the `main` branch, and released in later minor or major versions will not be included in LTS patch releases.

### LTS Release Duration

When a *new* LTS release is designated, an "end-of-life" date will be set as being **9 months** later for the *prior* LTS release. The overlap period is intended to provide users a time window to upgrade their deployments. Users can expect LTS patch releases to address critical bugs and other fixes through that end-of-life date. If there are multiple, active LTS branches, ACA-Py maintainers will determine which fixes are backported to which of those branches.

### LTS to LTS Compatibility

Features related to ACA-Py capabilities are documented in the [Supported RFCs and features](https://github.com/hyperledger/aries-cloudagent-python/blob/main/docs/features/SupportedRFCs.md), in the ACA-Py [ChangeLog](https://github.com/hyperledger/aries-cloudagent-python/blob/main/CHANGELOG.md), and in documents updated and added as part of each ACA-Py Release. LTS to LTS compatibility can be determined from reviewing those sources.
Features related to ACA-Py capabilities are documented in the [Supported RFCs and features](https://github.com/openwallet-foundation/acapy/blob/main/docs/features/SupportedRFCs.md), in the ACA-Py [ChangeLog](https://github.com/openwallet-foundation/acapy/blob/main/CHANGELOG.md), and in documents updated and added as part of each ACA-Py Release. LTS to LTS compatibility can be determined from reviewing those sources.

### Upgrade Testing

The ACA-Py project expects to test and provide guidance on all major/minor upgrades (e.g. 0.11 to 0.12). Other upgrade paths will not be tested and are not guaranteed to work. Consult the [ChangeLog](https://github.com/hyperledger/aries-cloudagent-python/blob/main/CHANGELOG.md) and its pointers to release-to-release upgrade information for guidance.
The ACA-Py project expects to test and provide guidance on all major/minor upgrades (e.g. 0.11 to 0.12). Other upgrade paths will not be tested and are not guaranteed to work. Consult the [ChangeLog](https://github.com/openwallet-foundation/acapy/blob/main/CHANGELOG.md) and its pointers to release-to-release upgrade information for guidance.

## Prior art and alternatives
[prior-art]: #prior-art

While many open source projects provide LTS releases, there is no industry standard for LTS release approach. Projects use many different variants of LTS approaches to best suit their project's particular needs.

This release strategy was based on the following opensource projects:
This release strategy was based on the following open source projects:

- [Hyperledger Fabric](https://github.com/hyperledger/fabric-rfcs/blob/main/text/0005-lts-release-strategy.md)
- [NodeJS](https://nodejs.org/en/about/previous-releases)
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Maintainer Scopes, GitHub Roles and GitHub Teams

The Maintainers of this repo, defined as GitHub users with escalated privileges
in the repo, are managed in the Hyperledger "governance" repo's [access-control.yaml](https://github.com/hyperledger/governance/blob/main/access-control.yaml) file. Consult that to see:
in the repo, are managed in the Hyperledger "governance" repo's [access-control.yaml](https://github.com/openwallet-foundation/governance/blob/main/config.yaml) file. Consult that to see:

- What teams have escalated privileges to this repository.
- What GitHub roles those teams have in the repository.
Expand Down
6 changes: 3 additions & 3 deletions Managing-ACA-Py-Doc-Site.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ after creation. From time to time, some "extra" maintenance on the versions are
needed and this document describes those activities.

[MkDocs Material]: https://squidfunk.github.io/mkdocs-material/
[publish-docs]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-docs.yml
[publish-docs]: https://github.com/openwallet-foundation/acapy/blob/main/.github/workflows/publish-docs.yml

## Generation Process

Expand All @@ -35,8 +35,8 @@ When the GitHub Action fires, it runs a container that carries out the following
to look at. The process uses the [mkdocs.yml] configuration file in generating
the site.

[scripts/prepmkdocs.sh]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/scripts/prepmkdocs.sh
[mkdocs.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/mkdocs.yml
[scripts/prepmkdocs.sh]: https://github.com/openwallet-foundation/acapy/blob/main/scripts/prepmkdocs.sh
[mkdocs.yml]: https://github.com/openwallet-foundation/acapy/blob/main/mkdocs.yml

## Preparing for a Release

Expand Down
2 changes: 1 addition & 1 deletion NOTICES
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The aries-cloudagent-python project relies on the following open source
The ACA-Py project relies on the following open source
components for run-time execution. These components are released under
separate copyright notices and license terms.

Expand Down
22 changes: 11 additions & 11 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ The output should look like this -- and what you see in [CHANGELOG.md](CHANGELOG

```text
- chore(deps): Bump mkdocs-material from 9.5.34 to 9.5.36 [\#3249](https://github.com/hyperledger/aries-cloudagent-python/pull/3249) [app/dependabot](https://github.com/app/dependabot)
- chore(deps-dev): Bump ruff from 0.6.5 to 0.6.7 [\#3248](https://github.com/hyperledger/aries-cloudagent-python/pull/3248) [app/dependabot](https://github.com/app/dependabot)
- Feature multikey management [\#3246](https://github.com/hyperledger/aries-cloudagent-python/pull/3246) [PatStLouis](https://github.com/PatStLouis)
- Only change interop testing fork on pull requests [\#3218](https://github.com/openwallet-foundation/acapy/pull/3218) [jamshale](https://github.com/jamshale)
- Remove the RC from the versions table [\#3213](https://github.com/openwallet-foundation/acapy/pull/3213) [swcurran](https://github.com/swcurran)
- Feature multikey management [\#3246](https://github.com/openwallet-foundation/acapy/pull/3246) [PatStLouis](https://github.com/PatStLouis)
```

Expand All @@ -72,7 +72,7 @@ Once you have the list of PRs:

```text
- Dependabot PRs
- [List of Dependabot PRs in this release](https://github.com/hyperledger/aries-cloudagent-python/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-16..2024-09-16+author%3Aapp%2Fdependabot+)
- [List of Dependabot PRs in this release](https://github.com/openwallet-foundation/acapy/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-16..2024-09-16+author%3Aapp%2Fdependabot+)
```

Include a PR for this soon-to-be PR. You can guess at the number of the PR by using this command `gh issue list -s all -L 2; gh pr ls -s all -L 2` to see the highest PR and issues, but you still might have to correct the number after you create the PR if someone sneaks one in before you submit your PR.
Expand Down Expand Up @@ -116,16 +116,16 @@ Include a PR for this soon-to-be PR. You can guess at the number of the PR by us

10. Immediately after it is merged, create a new GitHub tag representing the
version. The tag name and title of the release should be the same as the
version in [pyproject.toml](https://github.com/hyperledger/aries-cloudagent-python/tree/main/pyproject.toml). Use
version in [pyproject.toml](https://github.com/openwallet-foundation/acapy/tree/main/pyproject.toml). Use
the "Generate Release Notes" capability to get a sequential listing of the
PRs in the release, to complement the manually curated Changelog. Verify on
PyPi that the version is published.

11. New images for the release are automatically published by the GitHubAction
Workflows: [publish.yml] and [publish-indy.yml]. The actions are triggered
when a release is tagged, so no manual action is needed. The images are
published in the [Hyperledger Package Repository under
aries-cloudagent-python](https://github.com/orgs/hyperledger/packages?repo_name=aries-cloudagent-python)
published in the [OpenWallet Foundation Package Repository under
acapy](https://github.com/openwallet-foundation/packages?repo_name=acapy)
and a link to the packages added to the repositories main page (under
"Packages").

Expand All @@ -135,10 +135,10 @@ Include a PR for this soon-to-be PR. You can guess at the number of the PR by us
In addition, the published documentation site [https://aca-py.org] should be automatically updated to include the new release via the [publish-docs] GitHub Action.
Additional information about that process and some related maintenance activities that are needed from time to time can be found in the [Updating the ACA-Py Documentation Site] document.

[publish.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish.yml
[publish-indy.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-indy.yml
[publish.yml]: https://github.com/openwallet-foundation/acapy/blob/main/.github/workflows/publish.yml
[publish-indy.yml]: https://github.com/openwallet-foundation/acapy/blob/main/.github/workflows/publish-indy.yml

12. When a new release is tagged, create a new branch at the same commit with
1. When a new release is tagged, create a new branch at the same commit with
the branch name in the format `docs-v<version>`, for example, `docs-v1.0.1rc1`.
The creation of the branch triggers the execution of the [publish-docs]
GitHub Action which generates the documentation for the new release,
Expand All @@ -148,7 +148,7 @@ Include a PR for this soon-to-be PR. You can guess at the number of the PR by us
publishing process and some related maintenance activities that are needed
from time to time can be found in the [Managing the ACA-Py Documentation Site] document.

[publish-docs]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-docs.yml
[publish-docs]: https://github.com/openwallet-foundation/acapy/blob/main/.github/workflows/publish-docs.yml
[Managing the ACA-Py Documentation Site]: Managing-ACA-Py-Doc-Site.md
[https://aca-py.org]: https://aca-py.org

Expand Down
Loading

0 comments on commit 2dbea90

Please sign in to comment.