Skip to content

Commit

Permalink
Merge branch 'main' into feat/add-merchant-registry-helms
Browse files Browse the repository at this point in the history
  • Loading branch information
tw-sithumyo authored Feb 19, 2025
2 parents 8a20ec6 + 63b216c commit fe4dbf2
Show file tree
Hide file tree
Showing 268 changed files with 24,557 additions and 6,055 deletions.
155 changes: 155 additions & 0 deletions .changelog/release-v16.0.0.md

Large diffs are not rendered by default.

32 changes: 28 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ defaults_Environment: &defaults_environment
helm repo add elastic https://helm.elastic.co
helm repo add codecentric https://codecentric.github.io/helm-charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add mojaloop-charts https://mojaloop.github.io/charts/repo
helm repo add mojaloop-charts https://mojaloop.github.io/charts/repo
helm repo add redpanda https://charts.redpanda.com
helm repo update
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
- run:
name: If this is a release, upload the license-scanner file to the github release
command: |
if [ "${CIRCLE_TAG}" = "" ]; then
if [ "${CIRCLE_TAG}" = "" ] || [[ "$CIRCLE_TAG" == *-snapshot* ]]; then
exit 0
fi
mv /tmp/license-scanner/results/license-summary.xlsx ./license-summary-${CIRCLE_TAG}.xlsx
Expand Down Expand Up @@ -173,6 +173,11 @@ jobs:
echo "export GIT_RELEASE_URL=${GIT_PROJECT_URL}/releases/tag/${CIRCLE_TAG}" >> $BASH_ENV
echo "export GIT_RELEASE_TAG='${CIRCLE_TAG}@${CIRCLE_SHA1:0:7}'" >> $BASH_ENV
echo "export GIT_RELEASE_TYPE='Helm Snapshot'" >> $BASH_ENV
elif [[ $CIRCLE_BRANCH =~ ^(major|minor|patch)/(.*)$ ]]; then
echo "Setting env configs for Helm Pre-Release"
echo "export GIT_RELEASE_URL=${GIT_PROJECT_URL}/commit/${CIRCLE_SHA1}" >> $BASH_ENV
echo "export GIT_RELEASE_TAG=${BASH_REMATCH[2]}.${CIRCLE_BUILD_NUM}" >> $BASH_ENV
echo "export GIT_RELEASE_TYPE='Helm Pre-Release'" >> $BASH_ENV
else
echo "CIRCLE_SHA1=${CIRCLE_SHA1} exists setting env configs for Helm Snapshot"
echo "export GIT_RELEASE_URL=${GIT_PROJECT_URL}/commit/${CIRCLE_SHA1}" >> $BASH_ENV
Expand Down Expand Up @@ -203,6 +208,25 @@ jobs:
- run:
name: Publish Helm Charts
command: .circleci/publish_helm_charts.sh
- run:
name: Trigger downstream workflows
# DOWNSTREAM_IMAGE_ variables contain downstream repository:token pairs
command: |
DOWNSTREAM=$(compgen -A variable | grep "^DOWNSTREAM_IMAGE_")
if [ -n "$DOWNSTREAM" ]; then
echo "wait for GitHub Pages to publish"
sleep 180
fi
for var in $DOWNSTREAM; do
REPO_NAME=$(echo "${!var}" | cut -d: -f1)
echo "Triggering downstream workflow for $REPO_NAME"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $(echo "${!var}" | cut -d: -f2)" \
https://api.github.com/repos/"$REPO_NAME"/actions/workflows/docker-image.yaml/dispatches \
-d '{"ref":"main","inputs":{"upstream":"'"$CIRCLE_BUILD_URL"'","chart":"mojaloop","tag":"'"$GIT_RELEASE_TAG"'"}}'
done
- slack/notify:
event: pass
template: SLACK_TEMP_RELEASE_SUCCESS
Expand All @@ -220,7 +244,7 @@ workflows:
ignore: /.*/
branches:
ignore:
- master
- main
- setup:
context: org-global
filters:
Expand Down Expand Up @@ -249,4 +273,4 @@ workflows:
tags:
only: /v[0-9]+(\.[0-9]+)*(\-snapshot+((\.[0-9]+)?))?/
branches:
only: master
only: /main|(major|minor|patch)/.*/
34 changes: 26 additions & 8 deletions .github/workflows/create-release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,16 @@
# - GitHub Actions must be explicitly allowed to create pull requests in this repository.
# This setting can be found in the repository's settings under Actions > General > Workflow permissions.
# - A repository secret `AUTO_RELEASE_TOKEN` (permissions: `contents: write`, `pull-requests: write`, `repositories: read`) needs to be created.
# The secret should contain a github access token with the permissions specified above.
# The secret should contain a github access token (classic token (scope: repo (Full control of private repositories)) works better) with the permissions specified above.
# The secret is used by the `create-pull-request` action to create the pull request and `updatecli` to access all updateable repositories.
# The secret can be created at https://github.com/mojaloop/helm/settings/secrets/actions
#
# KNOWN ISSUES:
# - https://github.com/updatecli/updatecli/issues/1332
# - https://github.com/goccy/go-yaml/issues/298
# The underlying libraries used by updatecli for parsing yaml files have issues with maintaining multiline strings format and nodes with anchor.
# These issues are being worked on by the maintainers of the libraries and will be resolved in future releases.
# In the meantime, the workaround is to manually fix the affected files after the updatecli run.

name: Create Release PR

Expand All @@ -13,9 +20,9 @@ on:
inputs:
branch:
type: string
description: "Branch to create release PR from (e.g. master)"
description: "Branch to create release PR from (e.g. main)"
required: false
default: "master"
default: "main"
release_name:
type: string
description: "Release name (e.g. Acacia)"
Expand Down Expand Up @@ -47,7 +54,7 @@ on:
type: string
description: "Deployment values file in oss-core-env repo"
required: true
default: "helm-values-moja2-mojaloop-v15.3.0.yaml"
default: "helm-values-moja2-mojaloop-v16.0.0.yaml"

jobs:
create_release_pr:
Expand All @@ -74,16 +81,27 @@ jobs:
- name: Install dependencies
run: |
# Install mo
curl -sL https://raw.githubusercontent.com/tests-always-included/mo/master/mo -o /usr/local/bin/mo
chmod +x /usr/local/bin/mo
curl -sSL https://raw.githubusercontent.com/tests-always-included/mo/master/mo -o mo
if [ $? -ne 0 ]; then
echo "Failed to download mo"
exit 1
fi
sudo chmod +x mo
if [ $? -ne 0 ]; then
echo "Failed to make mo executable"
exit 1
fi
sudo mv mo /usr/local/bin/
mo --help
# Install updatecli
curl -sL https://github.com/updatecli/updatecli/releases/download/v0.71.0/updatecli_amd64.deb -o /tmp/updatecli_amd64.deb
sudo apt install /tmp/updatecli_amd64.deb
# Install jq
sudo apt-get install jq
- name: Setup Helm repositories
run: |
helm repo add stable https://charts.helm.sh/stable
Expand Down Expand Up @@ -175,7 +193,7 @@ jobs:
title: "[auto] feat: release candidate for ${{ inputs.release_name }} ${{ steps.determine-release-version.outputs.RELEASE_VERSION }}"
body-path: ${{ steps.generate-release-note.outputs.RELEASE_NOTE_FILE }}
branch: release/release-candidate-${{ inputs.release_name }}-${{ steps.determine-release-version.outputs.RELEASE_VERSION }}-${{ github.run_id }}
base: master
base: main
draft: true

- name: Clone oss-core-env repository
Expand Down
30 changes: 22 additions & 8 deletions .github/workflows/manifests/first-pass/mojaloop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -219,11 +219,11 @@ conditions:
kind: dockerimage
spec:
image: mojaloop/ml-testing-toolkit
# docker-ml-testing-toolkit-ui:
# sourceid: ml-testing-toolkit-ui
# kind: dockerimage
# spec:
# image: mojaloop/ml-testing-toolkit-ui
docker-ml-testing-toolkit-ui:
sourceid: ml-testing-toolkit-ui
kind: dockerimage
spec:
image: mojaloop/ml-testing-toolkit-ui

targets:
appVersion-ml-api-adapter:
Expand Down Expand Up @@ -280,7 +280,7 @@ targets:
kind: file
spec:
file: mojaloop/Chart.yaml
matchpattern: '(simulator:) (v[\d\.]+)'
matchpattern: '(; simulator:) (v[\d\.]+)'
replacepattern: '$1 {{ source "simulator" }}'
appVersion-mojaloop-simulator:
sourceid: mojaloop-simulator
Expand Down Expand Up @@ -379,14 +379,28 @@ targets:
spec:
name: mojaloop
file: values.yaml
key: $.quoting-service.image.tag
key: $.quoting-service.quoting-service.image.tag
quoting-service--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: mojaloop
file: values.yaml
key: $.quoting-service.sidecar.image.tag
key: $.quoting-service.quoting-service.sidecar.image.tag
quoting-service-handler:
sourceid: quoting-service
kind: helmchart
spec:
name: mojaloop
file: values.yaml
key: $.quoting-service.quoting-service-handler.image.tag
quoting-service-handler--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: mojaloop
file: values.yaml
key: $.quoting-service.quoting-service-handler.sidecar.image.tag
ml-api-adapter:
sourceid: ml-api-adapter
kind: helmchart
Expand Down
62 changes: 60 additions & 2 deletions .github/workflows/manifests/first-pass/quoting-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,20 +38,78 @@ targets:
spec:
name: quoting-service
file: values.yaml
key: $.image.tag
key: $.quoting-service.image.tag
appversion: true
quoting-service--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: quoting-service
file: values.yaml
key: $.sidecar.image.tag
key: $.quoting-service.sidecar.image.tag
quoting-service-handler:
sourceid: quoting-service
kind: helmchart
spec:
name: quoting-service
file: values.yaml
key: $.quoting-service-handler.image.tag
quoting-service-handler--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: quoting-service
file: values.yaml
key: $.quoting-service-handler.sidecar.image.tag
common:
sourceid: common
kind: helmchart
spec:
name: quoting-service
file: Chart.yaml
key: $.dependencies[2].version
chart-handler--quoting-service:
sourceid: quoting-service
kind: helmchart
spec:
name: quoting-service/chart-handler
file: values.yaml
key: $.image.tag
appversion: true
chart-handler--quoting-service--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: quoting-service/chart-handler
file: values.yaml
key: $.sidecar.image.tag
chart-handler--common:
sourceid: common
kind: helmchart
spec:
name: quoting-service/chart-handler
file: Chart.yaml
key: $.dependencies[0].version
chart-service--quoting-service:
sourceid: quoting-service
kind: helmchart
spec:
name: quoting-service/chart-service
file: values.yaml
key: $.image.tag
appversion: true
chart-service--quoting-service--sidecar:
sourceid: event-sidecar
kind: helmchart
spec:
name: quoting-service/chart-service
file: values.yaml
key: $.sidecar.image.tag
chart-service--common:
sourceid: common
kind: helmchart
spec:
name: quoting-service/chart-service
file: Chart.yaml
key: $.dependencies[0].version

37 changes: 37 additions & 0 deletions .github/workflows/manifests/second-pass/quoting-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: quoting-service

sources:
quoting-service:
kind: helmchart
spec:
url: file://./quoting-service
name: quoting-service
quoting-service-handler:
kind: helmchart
spec:
url: file://./quoting-service
name: quoting-service-handler

conditions: {}

targets:
quoting-service:
sourceid: quoting-service
kind: helmchart
spec:
name: quoting-service
file: Chart.yaml
key: $.dependencies[0].version
transformers:
- addprefix: '">= '
- addsuffix: '"'
quoting-service-handler:
sourceid: quoting-service-handler
kind: helmchart
spec:
name: quoting-service
file: Chart.yaml
key: $.dependencies[1].version
transformers:
- addprefix: '">= '
- addsuffix: '"'
2 changes: 1 addition & 1 deletion .github/workflows/scripts/determine-release-version.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash

# Description: This script is used to the next release version number based on changes from last release.
# Description: This script is used to determine the next release version number based on changes from last release.
# Dependencies: This script depends on the changelog files (.tmp/changelogs/**) generated by the generate-changelog.sh script.
# Requirements: bash, jq, awk, sed
# Usage: .github/workflows/scripts/determine-release-version last_release_tag
Expand Down
19 changes: 8 additions & 11 deletions .github/workflows/templates/release-note-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ Date | Revision | Description
---------|----------|---------
{{RELEASE_DATE}} | 0 | Initial draft

- For *BREAKING ISSUES*, please review the section `#6` ["Breaking Changes"](#6-breaking-changes) below.
- For *KNOWN ISSUES*, please review the section `#7` ["Known Issues"](#7-known-issues) below.

## 0. Summary

Enhancements and {{BREAKING_CHANGES_STATUS_TEXT}} changes to the [{{LAST_RELEASE_VERSION}} Release](https://github.com/mojaloop/helm/blob/master/.changelog/release-{{LAST_RELEASE_VERSION}}.md), which includes:
Enhancements and {{BREAKING_CHANGES_STATUS_TEXT}} changes to the [{{LAST_RELEASE_VERSION}} Release](https://github.com/mojaloop/helm/blob/main/.changelog/release-{{LAST_RELEASE_VERSION}}.md), which includes:

{{RELEASE_SUMMARY_POINTS}}

Expand Down Expand Up @@ -40,7 +37,7 @@ This release supports the following versions of the [Mojaloop family of APIs](ht

| Dependency | Version | Notes |
| ---------- | ------- | --- |
| Kubernetes | v1.28 | [AWS EKS](https://aws.amazon.com/eks/), [AWS EKS Supported Version Notes](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) |
| Kubernetes | v1.29 | [AWS EKS](https://aws.amazon.com/eks/), [AWS EKS Supported Version Notes](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) |
| containerd | v1.6.19 | |
| Nginx Ingress Controller | [helm-ingress-nginx-4.7.0](https://github.com/kubernetes/ingress-nginx/releases/tag/helm-chart-4.7.0) / [ingress-controller-v1.8.0](https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.8.0) | |
| Amazon Linux | v2 | |
Expand All @@ -49,7 +46,7 @@ This release supports the following versions of the [Mojaloop family of APIs](ht
| Redis | bitnami/redis:7.0.5-debian-11-r7 | |
| MongoDB | bitnami/mongodb:6.0.2-debian-11-r11 | |
| Testing Toolkit Test Cases | [{{TTK_TEST_CASES_VERSION}}](https://github.com/mojaloop/testing-toolkit-test-cases/releases/tag/{{TTK_TEST_CASES_VERSION}}) | |
| example-mojaloop-backend | {{EXAMPLE_MOJALOOP_BACKEND_VERSION}} | [README](https://github.com/mojaloop/helm/blob/master/example-mojaloop-backend/README.md) |
| example-mojaloop-backend | {{EXAMPLE_MOJALOOP_BACKEND_VERSION}} | [README](https://github.com/mojaloop/helm/blob/main/example-mojaloop-backend/README.md) |

2. It is recommended that all Mojaloop deployments are verified using the [Mojaloop Testing Toolkit](https://docs.mojaloop.io/documentation/mojaloop-technical-overview/ml-testing-toolkit/). More information can be found in the [Mojaloop Deployment Guide](https://docs.mojaloop.io/documentation/deployment-guide).

Expand All @@ -70,15 +67,15 @@ This release supports the following versions of the [Mojaloop family of APIs](ht

6. Bulk API Helm Tests

Refer to the [Testing Deployments](https://github.com/mojaloop/helm/blob/master/README.md#testing-deployments) section in the main README for detailed information on how to enable bulk-api-adapter tests.
Refer to the [Testing Deployments](https://github.com/mojaloop/helm/blob/main/README.md#testing-deployments) section in the main README for detailed information on how to enable bulk-api-adapter tests.

7. Thirdparty API Helm Tests

Refer to [thirdparty/README.md#validating-and-testing-the-3p-api](https://github.com/mojaloop/helm/blob/master/thirdparty/README.md#validating-and-testing-the-3p-api) on how to enabled and execute Thirdparty verification tests.
Refer to [thirdparty/README.md#validating-and-testing-the-3p-api](https://github.com/mojaloop/helm/blob/main/thirdparty/README.md#validating-and-testing-the-3p-api) on how to enabled and execute Thirdparty verification tests.

8. Testing the new Bulk functionality (sdk-scheme-adapter)
8. Testing the Bulk functionality including "sdk-scheme-adapter"

For details regarding deployment and validation of simulators needed for bulk (for adoption provided in sdk-scheme-adapter) refer to [deploying Mojaloop TTK simulators](https://github.com/mojaloop/helm/blob/master/mojaloop-ttk-simulators/README.md).
For details regarding deployment and validation of simulators needed for bulk (for adoption provided in sdk-scheme-adapter) refer to [deploying Mojaloop TTK simulators](https://github.com/mojaloop/helm/blob/main/mojaloop-ttk-simulators/README.md).

## 6. Breaking Changes

Expand All @@ -96,7 +93,7 @@ This release supports the following versions of the [Mojaloop family of APIs](ht

## 8. Contributors

- Organizations: BMGF, InFiTX
- Organizations: BMGF, InFiTX, MLF
- Individuals: {{INDIVIDUAL_CONTRIBUTORS}}

*Note: companies are in alphabetical order, individuals are in no particular order.*
Expand Down
Loading

0 comments on commit fe4dbf2

Please sign in to comment.