Skip to content

Commit

Permalink
Add Documentation and Automate SDK Releases [release] 2.0.16
Browse files Browse the repository at this point in the history
  • Loading branch information
DhanushReddy-2513 committed Jul 14, 2023
1 parent 23b0f2f commit ab93c62
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
## Check whether a new release is required
1. Whenever a change in detected on the RBI website (https://rbi.org.in/), an automated email from the "RBI Updates" is sent on the "#tech_ifsc" Slack channel.
2. Open the website it has detected change and check the RBI release date to see if a new release is needed.
3. If the RBI lists are updated, make a new release.
1. Whenever a change in detected on the RBI website (https://www.rbi.org.in/Scripts/bs_viewcontent.aspx?Id=2009), an automated email from the "RBI Updates" is sent on the "#tech_ifsc" Slack channel.
2. Open the website it has detected change and compare the RBI release date with the `RBI Update Date` of the latest release. If the release date and update date differ, make a new release.

## Publish a new release of IFSC repository (https://github.com/razorpay/ifsc)
1. Clone the IFSC repository (https://github.com/razorpay/ifsc) locally.
Expand All @@ -13,9 +12,12 @@
7. Extract the artifacts and copy the files `banks.json`, `IFSC.json` and `sublet.json` into the `ifsc/src/` directory.
8. Again, commit these changes and push it into the IFSC repository and check the tests. If something is failing, you might need to edit the constants or `banknames.json` file.
9. Create a new pull request with this branch. Copy the `release-notes.md` file and use that as description for the PR. Review and merge the PR. Tag the merge commit (don't use a prefix, just `X.Y.Z`).
10. Push the tag to GitHub.
11. Create a release on GitHub for the tag. Use `release-notes.md` file as the template. Replace `TODO` as applicable for the release. Upload the `release-artifact` files as part of the release.
12. On making a new release, Github Actions for SDK update are automatically triggered. After all the actions run successfully, the `npm`, `gem` and `php` packages are updated to the latest versions, which can be checked by the badges in the `README.md` file.
10. Create a release on GitHub (https://github.com/razorpay/ifsc/releases/new).
- Create a new tag.
- Use `release-notes.md` file as the template.
- Replace `TODO` as applicable for the release.
- Upload the `release-artifact` files as part of the release.
11. On making a new release, Github Actions for SDK update are automatically triggered. After all the actions run successfully, the `npm`, `gem` and `php` packages are updated to the latest versions, which can be checked by the badges in the `README.md` file.

## Publish a new release of IFSC-API repository (https://github.com/razorpay/ifsc-api)
1. Ensure that a new gem release has been made for the latest release (https://rubygems.org/gems/ifsc).
Expand All @@ -24,11 +26,13 @@
4. Go to the latest IFSC release (https://github.com/razorpay/ifsc/releases).
5. Download and extract the `by-bank.tar.gz` file from the release assets and copy the files into the `ifsc-api/data` directory.
6. Run a dependency update (`bundle update && bundle update --gemfile Gemfile.build`).
7. Check whether the ifsc gem is updated to the latest version (`grep ifsc Gemfile.lock`).
8. Commit this as `[release] x.y.z`. Push these changes to the IFSC-API repository (https://github.com/razorpay/ifsc-api).
9. Create a new pull request with this branch. Review and merge the PR. Tag the merge commit (don't use a prefix, just `X.Y.Z`).
10. Push the tag to GitHub.
11. Create a release on GitHub for the tag. Add a description as applicable for the release.
7. Dependency update updates `Redis` package, which could break workflows. In such a case, manually edit the package version to its previous one.
8. Check whether the ifsc gem is updated to the latest version (`grep ifsc Gemfile.lock`).
9. Commit this as `[release] x.y.z`. Push these changes to the IFSC-API repository (https://github.com/razorpay/ifsc-api).
10. Create a new pull request with this branch. Review and merge the PR. Tag the merge commit (don't use a prefix, just `X.Y.Z`).
11. Create a release on GitHub (https://github.com/razorpay/ifsc-api/releases/new).
- Create a new tag.
- Add a description as applicable for the release.
12. Check whether a new tag has been created on docker hub (https://hub.docker.com/r/razorpay/ifsc/tags).

## Deploy the new IFSC release on X Dashboard / IFSC-API repository SDK update
Expand Down Expand Up @@ -62,9 +66,12 @@ Go to the link to authorise.
5. Commit the `composer.lock` file and raise PR. Fix any tests that fail due to the IFSC codes removed / added (need to let CI run and check required suites for failures, most of the ifsc tests are required only).
6. Merge and deploy.

## Deploy the new IFSC release on the API website (https://ifsc.razorpay.com/)
## Deploy the new Stage IFSC release on the Stage API website (http://ifsc.stage.razorpay.in/)
1. Go to Spinnaker (https://deploy.razorpay.com/#/applications/stage-ifsc/executions).
2. Run the "stage-ifsc-infra" pipeline, by clicking on "Start Manual Execution" against it. In the parameters section, enter the latest tag number as "2.0.14" (OR) simply "latest" against the "Image tag" parameter and enter the latest kube-manifest commit ID against the "kube_manifests_commit" parameter. Take the latest commit ID from kube-manifest repository (https://github.com/razorpay/kube-manifests).
3. Open the "stage-ifsc" endpoint (http://ifsc.stage.razorpay.in/) and test the API by running deleted and newly added IFSC codes in the latest release.
4. Run the "prod deploy" pipeline, by clicking on "Start Manual Execution" against it. In the parameters section, enter the latest tag number as "2.0.14" (OR) simply "latest" against the "Image tag" parameter.
5. Open the API (https://ifsc.razorpay.com/) and test the website by running deleted and newly added IFSC codes in the latest release.

## Deploy the new Production IFSC release on the Production API website (https://ifsc.razorpay.com/)
1. Go to Spinnaker (https://deploy.razorpay.com/#/applications/stage-ifsc/executions).
2. Run the "prod deploy" pipeline, by clicking on "Start Manual Execution" against it. In the parameters section, enter the latest tag number as "2.0.14" (OR) simply "latest" against the "Image tag" parameter.
3. Open the API (https://ifsc.razorpay.com/) and test the website by running deleted and newly added IFSC codes in the latest release.

0 comments on commit ab93c62

Please sign in to comment.