Skip to content

Commit

Permalink
Prepare for OWF move. (#1075)
Browse files Browse the repository at this point in the history
* Update aca-py package with acapy-agent 1.1.0

Signed-off-by: jamshale <jamiehalebc@gmail.com>

* Fix missing import

Signed-off-by: jamshale <jamiehalebc@gmail.com>

* Install basicmessage plugin from fork for testing

Signed-off-by: jamshale <jamiehalebc@gmail.com>

* Manually update RELEASES.md with 1.1.0

Signed-off-by: jamshale <jamiehalebc@gmail.com>

* Change ghrc reference to valid image

Signed-off-by: jamshale <jamiehalebc@gmail.com>

* Update site doc name

Signed-off-by: jamshale <jamiehalebc@gmail.com>

---------

Signed-off-by: jamshale <jamiehalebc@gmail.com>
  • Loading branch information
jamshale authored Oct 16, 2024
1 parent e01ef56 commit df15880
Show file tree
Hide file tree
Showing 102 changed files with 4,042 additions and 4,052 deletions.
24 changes: 12 additions & 12 deletions .github/workflows/create-release-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,23 @@ jobs:
run: pipx install poetry
id: setup-poetry
#----------------------------------------------
# Get the latest version of aries-cloudagent from pypi
# Get the latest version of acapy-agent from pypi
#----------------------------------------------
- name: Get latest aries-cloudagent version
- name: Get latest acapy-agent version
id: current_available_version
run: |
remote_version=$(pip index versions aries-cloudagent)
remote_version=$(pip index versions acapy-agent)
version=$(grep -oP '(?<=Available versions: ).*?(?=,)' <<< "$remote_version")
echo current_available_version=$version >> $GITHUB_OUTPUT
echo "Remote version = $version"
#----------------------------------------------
# Check the latest version from plugins_global lock file
#----------------------------------------------
- name: Get global aries-cloudagent version from plugins repo
- name: Get global acapy-agent version from plugins repo
id: current_global_version
run: |
cd plugin_globals
lock_version=$(grep -A1 'name = "aries-cloudagent"' poetry.lock | grep -v 'name = "aries-cloudagent"')
lock_version=$(grep -A1 'name = "acapy-agent"' poetry.lock | grep -v 'name = "acapy-agent"')
version=$(grep -oP '(?<=").*?(?=")' <<< "$lock_version")
echo current_global_version=$version >> $GITHUB_OUTPUT
echo "Global version = $version"
Expand All @@ -79,10 +79,10 @@ jobs:
run: |
echo "Re-Release manually requested. Skipping upgrade available check."
#----------------------------------------------
# Check if aries-cloudagent upgrade available
# Check if acapy-agent upgrade available
# If the global version is greater than or equal to the remote version, exit
#----------------------------------------------
- name: Check if aries-cloudagent upgrade available
- name: Check if acapy-agent upgrade available
id: upgrade_available
if: github.event.inputs.re_release != 'true'
run: |
Expand All @@ -97,21 +97,21 @@ jobs:
}
if [ $(sem_version $current_global_version) -ge $(sem_version $current_available_version) ]; then
echo "Version of aries-cloudagent is up to date"
echo "Version of acapy-agent is up to date"
exit 0
fi
echo available=true >> $GITHUB_OUTPUT
echo "Detected aries-cloudagent upgrade available..."
echo "Detected acapy-agent upgrade available..."
#----------------------------------------------
# Update global aries-cloudagent version in lock file
# Update global acapy-agent version in lock file
#----------------------------------------------
- name: Update global acapy version
if: ${{ steps.upgrade_available.outputs.available == 'true' && github.event.inputs.re_release != 'true'}}
run: |
python repo_manager.py 3
echo "Update global acapy version"
#----------------------------------------------
# Update all plugins with aries-cloudagent and global and local dependencies
# Update all plugins with acapy-agent and global and local dependencies
#----------------------------------------------
- name: Run global updates
if: ${{ steps.upgrade_available.outputs.available == 'true' && github.event.inputs.re_release != 'true'}}
Expand Down Expand Up @@ -412,7 +412,7 @@ jobs:
committer: Release Bot <release-bot@users.noreply.github.com>
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "Release v${{ steps.prepare_pr.outputs.tag_version }} Upgrades"
title: "Release for aries-cloudagent v${{ steps.prepare_pr.outputs.tag_version }}"
title: "Release for acapy-agent v${{ steps.prepare_pr.outputs.tag_version }}"
body: "${{ steps.prepare_pr.outputs.pr_body }}"
branch: "release-v${{ steps.prepare_pr.outputs.tag_version }}"
base: "main"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/create-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ jobs:
#----------------------------------------------
# Check the latest version from plugins_global lock file
#----------------------------------------------
- name: Get global aries-cloudagent version from plugins repo
- name: Get global acapy-agent version from plugins repo
id: current_global_version
run: |
cd plugin_globals
lock_version=$(grep -A1 'name = "aries-cloudagent"' poetry.lock | grep -v 'name = "aries-cloudagent"')
lock_version=$(grep -A1 'name = "acapy-agent"' poetry.lock | grep -v 'name = "acapy-agent"')
version=$(grep -oP '(?<=").*?(?=")' <<< "$lock_version")
echo current_global_version=$version >> $GITHUB_OUTPUT
echo "Global version = $version"
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
# Check if the lock file is rooted
if [[ $file == *"/poetry.lock"* ]] && [[ "$number_of_slashes" == 1 ]]; then
changes="$(git diff ${{ github.event.before }} ${{ github.event.after }} $file)"
lock_version=$(echo "$changes" | grep -A1 'name = "aries-cloudagent"' | head -n 2 | tail -n 1 | awk '{print $3}' | tr -d '"')
lock_version=$(echo "$changes" | grep -A1 'name = "acapy-agent"' | head -n 2 | tail -n 1 | awk '{print $3}' | tr -d '"')
echo "File = $file"
echo "Old Version = $lock_version"
echo "Global Version = $current_global_version"
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
echo ${{ steps.should_create_release.outputs.should_create_release }}
# Get the latest version
remote_version=$(pip index versions aries-cloudagent)
remote_version=$(pip index versions acapy-agent)
version=$(grep -oP '(?<=Available versions: ).*?(?=,)' <<< "$remote_version")
# Set the git config
Expand Down
2 changes: 1 addition & 1 deletion DOCSITE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ACA-Py Plugins Documentation

The documentation site for the ACA-Py plugins can be found at: [https://hyperledger.github.io/aries-acapy-plugins](https://hyperledger.github.io/aries-acapy-plugins).
The documentation site for the ACA-Py plugins can be found at: [https://openwallet-foundation.github.io/acapy-plugins](https://openwallet-foundation.github.io/acapy-plugins).

## Managing the Documentation Site

Expand Down
91 changes: 33 additions & 58 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,14 @@

## Maintainer Scopes, GitHub Roles and GitHub Teams

Maintainers are assigned the following scopes in this repository:

| Scope | Definition | GitHub Role | GitHub Team |
| ---------- | ------------------------ | ----------- | ------------------------------------ |
| Admin | | Admin | [aries-admins] |
| Maintainer | The GitHub Maintain role | Maintain | [aries-cloudagent-python committers] |
| Triage | The GitHub Triage role | Triage | [aries triage] |
| Read | The GitHub Read role | Read | [Aries Contributors] |

[aries-admins]: https://github.com/orgs/hyperledger/teams/aries-admins
[aries-cloudagent-python committers]: https://github.com/orgs/hyperledger/teams/aries-cloudagent-python-committers
[aries triage]: https://github.com/orgs/hyperledger/teams/aries-triage
[Aries Contributors]: https://github.com/orgs/hyperledger/teams/aries-contributors

## Active Maintainers

<!-- Please keep this sorted alphabetically by github -->

| GitHub ID | Name | Scope | LFID | Discord ID | Email | Company Affiliation |
| --------------- | ---------------- | ---------- | ---- | ---------- | ----- | ------------------- |
| amanji | Akiff Manji | Maintainer | | | | BC Gov |
| andrewwhitehead | Andrew Whitehead | Maintainer | | | | BC Gov |
| chumbert | Clement Humbert | Maintainer | | | | SICPA |
| dbluhm | Daniel Bluhm | | | | | Indicio PBC |
| dhh1128 | Daniel Hardman | Maintainer | | | | Provenant |
| ianco | Ian Costanzo | | | | | Anonymous Systems |
| jamshale | Jamie Hale | Maintainer | | | | BC Gov |
| Jsyro | Jason Syrotuck | | | | | BC Gov |
| shaangill025 | Shaanjot Gill | | | | | BC Gov |
| swcurran | Stephen Curran | Maintainer | | | | BC Gov |
| TelegramSam | Sam Curren | Maintainer | | | | Indicio PBC |
| TimoGlastra | Timo Glastra | | | | | Animo Solutions |
| WadeBarnes | Wade Barnes | Maintainer | | | | BC Gov |
| usingtechnology | Jason Sherman | | | | | BC Gov |
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:

- What teams have escalated privileges to this repository.
- What GitHub roles those teams have in the repository.
- Who are the members of each of those teams.

The actions covered below for [becoming](#becoming-a-maintainer) and [removing](#removing-maintainers) are made manifest through PRs to that file.

## The Duties of a Maintainer

Expand All @@ -56,8 +30,8 @@ Maintainers are expected to perform the following duties for this repository. Th
give guidance and encouragement to those wanting to contribute to the product, and those wanting to become maintainers.
- Contribute to the product via GitHub Pull Requests.
- Monitor requests from the Hyperledger Technical Oversight Committee about the
contents and management of Hyperledger repositories, such as branch handling,
required files in repositories and so on.
contents and management of Hyperledger repositories, such as branch handling,
required files in repositories and so on.
- Contribute to the Hyperledger Project's Quarterly Report.

## Becoming a Maintainer
Expand All @@ -69,18 +43,18 @@ occur, roughly in order.
- The proposed maintainer establishes their reputation in the community,
including authoring five (5) significant merged pull requests, and expresses
an interest in becoming a maintainer for the repository.
- A PR is created to update this file to add the proposed maintainer to the list of active maintainers.
- The PR is authored by an existing maintainer or has a comment on the PR from an existing maintainer supporting the proposal.
- The PR is authored by the proposed maintainer or has a comment on the PR from the proposed maintainer confirming their interest in being a maintainer.
- The PR or comment from the proposed maintainer must include their
- An issue is created to add the proposed maintainer to the list of active maintainers.
- The issue is authored by an existing maintainer or has a comment on the PR from an existing maintainer supporting the proposal.
- The issue is authored by the proposed maintainer or has a comment on the issue from the proposed maintainer confirming their interest in being a maintainer.
- The issue or comment from the proposed maintainer must include their
willingness to be a long-term (more than 6 month) maintainer.
- Once the PR and necessary comments have been received, an approval timeframe begins.
- The PR **MUST** be communicated on all appropriate communication channels, including relevant community calls, chat channels and mailing lists. Comments of support from the community are welcome.
- The PR is merged and the proposed maintainer becomes a maintainer if either:
- Two weeks have passed since at least three (3) Maintainer PR approvals have been recorded, OR
- An absolute majority of maintainers have approved the PR.
- If the PR does not get the requisite PR approvals, it may be closed.
- Once the add maintainer PR has been merged, any necessary updates to the GitHub Teams are made.
- Once the issue and necessary comments have been received, an approval timeframe begins.
- The issue **MUST** be communicated on all appropriate communication channels, including relevant community calls, chat channels and mailing lists. Comments of support from the community are welcome.
- The issue is approved and the proposed maintainer becomes a maintainer if either:
- Two weeks have passed since at least three (3) Maintainer issue approvals have been recorded, OR
- An absolute majority of maintainers have approved the issue.
- If the issue does not get the requisite approvals, it may be closed.
- Once the add maintainer issue has been approved, the necessary updates to the GitHub Teams are made via a PR to the Hyperledger "governance" repo's [access-control.yaml](https://github.com/hyperledger/governance/blob/main/access-control.yaml) file.

## Removing Maintainers

Expand All @@ -99,17 +73,18 @@ maintainer to emeritus status. This can occur in the following situations:
- Other circumstances at the discretion of the other Maintainers.

The process to move a maintainer from active to emeritus status is comparable to the process for adding a maintainer, outlined above. In the case of voluntary
resignation, the Pull Request can be merged following a maintainer PR approval. If the removal is for any other reason, the following steps **SHOULD** be followed:

- A PR is created to update this file to move the maintainer to the list of emeritus maintainers.
- The PR is authored by, or has a comment supporting the proposal from, an existing maintainer or Hyperledger GitHub organization administrator.
- Once the PR and necessary comments have been received, the approval timeframe begins.
- The PR **MAY** be communicated on appropriate communication channels, including relevant community calls, chat channels and mailing lists.
- The PR is merged and the maintainer transitions to maintainer emeritus if:
- The PR is approved by the maintainer to be transitioned, OR
- Two weeks have passed since at least three (3) Maintainer PR approvals have been recorded, OR
- An absolute majority of maintainers have approved the PR.
- If the PR does not get the requisite PR approvals, it may be closed.
resignation, the Pull Request can be merged following a maintainer issue approval. If the removal is for any other reason, the following steps **SHOULD** be followed:

- An issue is created to move the maintainer to the list of emeritus maintainers.
- The issue is authored by, or has a comment supporting the proposal from, an existing maintainer or Hyperledger GitHub organization administrator.
- Once the issue and necessary comments have been received, the approval timeframe begins.
- The issue **MAY** be communicated on appropriate communication channels, including relevant community calls, chat channels and mailing lists.
- The issue is approved and the maintainer transitions to maintainer emeritus if:
- The issue is approved by the maintainer to be transitioned, OR
- Two weeks have passed since at least three (3) Maintainer issue approvals have been recorded, OR
- An absolute majority of maintainers have approved the issue.
- If the issue does not get the requisite approvals, it may be closed.
- Once the remove maintainer issue has been approved, the necessary updates to the GitHub Teams are made via a PR to the Hyperledger "governance" repo's [access-control.yaml](https://github.com/hyperledger/governance/blob/main/access-control.yaml) file.

Returning to active status from emeritus status uses the same steps as adding a
new maintainer. Note that the emeritus maintainer already has the 5 required
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This repository contains approved and tested plugins for [Aries Cloud Agent Python] (ACA-Py). This is to encourage collaboration and sharing of useful features not directly included in ACA-Py.

[Aries Cloud Agent Python]: https://github.com/hyperledger/aries-cloudagent-python
[A Cloud Agent Python]: https://github.com/openwallet-foundation/acapy

## Developer Notes

Expand Down Expand Up @@ -62,11 +62,11 @@ with at least a `Description` and `Configuration` section.
## Build and Run

Each plugin (that is not a [Lite Plugin](#lite-plugins)) **MUST** include a
Dockerfile (such as [Dockerfile](https://github.com/hyperledger/aries-acapy-plugins/blob/main/basicmessage_storage/docker/Dockerfile)) to
Dockerfile (such as [Dockerfile](https://github.com/openwallet-foundation/acapy-plugins/blob/main/basicmessage_storage/docker/Dockerfile)) to
run integration tests. This image is not intended for production as it copies
the plugin source and loads its dependencies (including ACA-Py) along with a
simplistic ACA-Py configuration file, (such as
[default.yml](https://github.com/hyperledger/aries-acapy-plugins/blob/main/basicmessage_storage/docker/default.yml)).
[default.yml](https://github.com/openwallet-foundation/acapy-plugins/blob/main/basicmessage_storage/docker/default.yml)).

## Run and Debug

Expand All @@ -75,7 +75,7 @@ and set breakpoints for debug (see `launch.json`).

To run your ACA-Py code in debug mode, go to the `Run and Debug` view, select
"Run/Debug Plugin" and click `Start Debugging (F5)`. Using the `default.yml` for
the plugin (such as [default.yml](https://github.com/hyperledger/aries-acapy-plugins/blob/main/basicmessage_storage/docker/default.yml)),
the plugin (such as [default.yml](https://github.com/openwallet-foundation/acapy-plugins/blob/main/basicmessage_storage/docker/default.yml)),
your agent swagger is available at http://localhost:3001/api/doc.

## Testing
Expand All @@ -94,7 +94,7 @@ For the plugin to be accepted into this repo it must have adequate testing.
created for your plugin after running the updater script. Plugins that don't
have integrations must be flagged as being a [Lite Plugin](#lite-plugins).
- An Integration `README` (such as [integration
tests](https://github.com/hyperledger/aries-acapy-plugins/blob/main/basicmessage_storage/integration/README.md)) **SHOULD** describe the
tests](https://github.com/openwallet-foundation/acapy-plugins/blob/main/basicmessage_storage/integration/README.md)) **SHOULD** describe the
set of integration tests. When you generate a new plugin, you should have
everything you need to start integration testing and a sample test will be
provided.
Expand All @@ -109,13 +109,13 @@ Example Dockerfile:

```yaml

FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-0.11.0
FROM ghcr.io/openwallet-foundation/acapy:py3.12-1.1.0

USER root

# install plugins as binaries
RUN pip install git+https://github.com/hyperledger/aries-acapy-plugins@main#subdirectory=basicmessage_storage
RUN pip install git+https://github.com/hyperledger/aries-acapy-plugins@main#subdirectory=connection_update
RUN pip install git+https://github.com/openwallet-foundation/acapy-plugins@main#subdirectory=basicmessage_storage
RUN pip install git+https://github.com/openwallet-foundation/acapy-plugins@main#subdirectory=connection_update

USER $user
COPY ./configs configs
Expand Down
21 changes: 21 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
# Plugin Release Status
## ACA-Py Release 1.1.0

| Plugin Name | Supported ACA-Py Release |
| --- | --- |
|basicmessage_storage | 1.1.0|
|connection_update | 1.1.0|
|firebase_push_notifications | 1.1.0|
|kafka_events | 0.12.2|
|multitenant_provider | 1.1.0|
|oid4vc | 1.1.0|
|redis_events | 1.1.0|
|rpc | 1.1.0|

### Plugins Upgraded For ACA-Py Release 1.1.0
- basicmessage_storage
- connection_update
- firebase_push_notifications
- multitenant_provider
- oid4vc
- redis_events
- rpc
## ACA-Py Release 1.0.1

| Plugin Name | Supported ACA-Py Release |
Expand Down
Loading

0 comments on commit df15880

Please sign in to comment.