Add a GitHub Action job to trigger a release process which includes operations of:
1. Creating and pushing the release tag to the repository
2. Verifying the pushed tag (performing a diff with the commit ID which is tagged)
3. Creating a ZIP for the release asset.
4. Verifying the ZIP by performing a diff check and running unit tests on the unzipped files. 5. Creating a release on the repository for the tag, and uploading the ZIP as the release asset
The workflow can be manually triggered and takes the input values of Commit ID/Branch (to create a release for) and the Version string for tagging the release with