Summary
Planned:
- Status of indy-node CI/CD progress
- Status of upcoming indy-sdk release
- GitHub Actions for the Indy SDK
Recording from the call: 20210119 Indy Contributors Call Recording
Hyperledger is committed to creating a safe and welcoming community for all. For more information please visit the Hyperledger Code of Conduct. |
---|
Welcome and Introductions
Attendees
- @name (Employer) <email>
- Stephen Curran (Cloud Compass Computing Inc.) <swcurran@cloudcompass.ca>
- Richard Esplin (Evernym) <richard.esplin@evernym.com>
- Robin Klemens (DB Systel GmbH) <Robin.Klemens@deutschebahn.com>
- Alexander Jonsson (Laniakea Health) <alex@seropass.me>
Related Calls and Announcements
Release Status and Work Updates
- Indy Node
- Next release in progress, same content as the last release, but using a revised CI/CD process for at least indy-plenum and indy-node
- Indy SDK
- Next release in progress, led by Ian Costanzo
- Indy Monitoring - https://github.com/hyperledger/indy-node-monitor
- Indy/Aries Shared Libraries - donated to Hyperledger (indy-vdr, indy-shared-rs, aries-askar)
- Ursa
Meeting Topics
- Indy SDK Release - Ian Costanzo
- RC published and being tested – w00t!! – 1.16, Build 170
- No tag yet – it's in the RC branch
- Ready for release?
- RC published and being tested – w00t!! – 1.16, Build 170
- Indy Node Release
- Process:
- Fix Jenkins so that we have a build to compare with (Evernym)
- Setup Github Actions / Azure CI pipeline (Kevin, Wade)
- Plenum CI – unblock some of the tests – PR this morning
- Node CI portion - complete
- Node CD progress - being worked on, working on the tests in Kevin's repo
- Plenum CD side – Ian has started to work on that, but not much to report yet.
- Issue:
- Build containers are used in the flows – currently in Wade or Kevin's personal repo.
- How to manage the images and where to put them? Push the images to Hyperledger's Docker Hub, or GitHub Packages. Wade to check on this, leaning to Hub.
- Base core CI and images are from Hyperledger and are from 16.04 at this point – which is appropriate for our first goal.
- Question is who else is using those. Kevin to check with Ry on that.
- Build containers are used in the flows – currently in Wade or Kevin's personal repo.
- Show that a release through Github is the same as through Jenkins
- Start releasing from Master instead of Stable (Wade)
- Goals (ranked):
- Release using CI / CD on GitHub Actions
Update from Ubuntu 16.04 to Ubuntu 18.04 / Ubuntu 20.04
- When updating validator nodes, note that there is a bug that prevents catch up from an empty ledger. Must copy data to the new machine then catch-up.
- During the upgrade, it's better to have different versions of Ubuntu with same version of Indy Node then run for an extended period of time with different versions of Indy Node.
- PR in flight for Ubuntu 18.04 with some debate as to whether it is complete or not. Some suspect that getting that PR completed vs. getting to 20.04 is the same effort.
- New branching model to release from Master with tags
- Promote Stable to Master, then deprecate Stable
- Release work in Master
Using a feature flag to prevent usage of new Rich Schemas transactions.
Switch from Indy Crypto to Ursa
Potential features to assist with removing token from Sovrin networks
- Stub unused ledgers from removed plugins
- Fees as a Node concept
- Potential releases:
- CI / CD Change, released from Stable
- indy-crypto: use existing artifact
- indy-plenum: generate from new GitHub CI / CD
- indy-node: generate from new GitHub CI / CD
- token-plugin: generate from Jenkins
- sovrin-node: generate from Jenkins
- ursa-crypto: exclude
- Upgraded Ubuntu, release from Stable
- indy-crypto: use existing artifact / release from Jenkins / exclude from release (if necessary)
- indy-plenum: generate from new GitHub CI / CD
- indy-node: generate from new GitHub CI / CD
- token-plugin: generate from Jenkins/use existing artifact
- sovrin-node: generate from Jenkins
- ursa-crypto: excluse from release / use existing artifact (if necessary)
- Release without Stable (move what is Master today into a branch)
- Same components/sources as previous release
- Remove Token, released from Stable (There is not agreement this is desirable now vs. other priorities)
- indy-crypto: use existing artifact
- indy-plenum: generate from new GitHub CI / CD
- indy-node: generate from new GitHub CI / CD
- token-plugin: stub or exclude
- sovrin-node: generete from Jenkins
- ursa-crypto: exclude
- Release New Features (merge former Master branch back to Master)
- indy-crypto: exclude
- indy-plenum: generate from new GitHub CI / CD
- indy-node: generate from new GitHub CI / CD
- token-plugin: stub or exclude
- If necessary, could try to release with existing token-plugin
- sovrin-node: maybe new Github CI / CD
- ursa-crypto: existing artifacts
- CI / CD Change, released from Stable
- GitHub Actions for the Indy SDK – ABSA contribution
- Community request – what is needed to replace Jenkins with this
- LibIndy and postgres plugin only
- Publish binaries for mobile only
- Wrappers, plus some additional ones
- A new container image based on Alpine with precompiled LibIndy and plugins.
- Drop LibVCX, Token, Windows, RedHat, and Ubuntu
- People who want this support can contribute on top of this GitHub actions work.
- Plan: Fork to ABSA, 2 weeks implementing GHA and then a PR to Indy
- Default runners in GHA
- But could be done with Hyperledger's Azure Pipelines if necessary.
- Doesn't look to be needed, as the Indy Node pool is working fine in GHA.
- GHA supports cached containers, so the same Indy Node image can be reused.
- Community request – what is needed to replace Jenkins with this
- Process:
Future Calls
Next call:
Future: