Skip to content

Merge pull request #1671 from hyperledger/update-rc-version #13

Merge pull request #1671 from hyperledger/update-rc-version

Merge pull request #1671 from hyperledger/update-rc-version #13

name: Triggered by Version Bump merged
#disable all tags and enable all brannches and only version file
on:
push:
branches-ignore:
- update-rc-version
- update-version
paths:
- '!**'
- "plenum/__version__.json"
jobs:
release-infos:
name: release-infos
runs-on: ubuntu-latest
outputs:
isVersionBump: ${{ steps.get-release-info.outputs.isVersionBump }}
isPreRelease: ${{ steps.get-release-info.outputs.isRC }}
versionTag: ${{ steps.get-release-info.outputs.versionTag }}
version: ${{ steps.get-release-info.outputs.version }}
component: ${{ steps.get-release-info.outputs.component }}
CACHE_KEY_BUILD: ${{ steps.workflow-setup.outputs.CACHE_KEY_BUILD }}
UBUNTU_VERSION: ${{ steps.workflow-setup.outputs.UBUNTU_VERSION }}
# Expose the lowercase version of the GitHub repository name
# to all subsequent jobs that reference image repositories
# as the push and pull operations require the URL of the repository
# to be in lowercase.
GITHUB_REPOSITORY_NAME: ${{ steps.workflow-setup.outputs.GITHUB_REPOSITORY_NAME }}
distribution: ${{ steps.workflow-setup.outputs.distribution }}
publish: ${{ steps.workflow-setup.outputs.publish }}
steps:
- name: checkout source code
uses: actions/checkout@v4
- name: get-release-info
id: get-release-info
uses: hyperledger/indy-shared-gha/.github/actions/get-release-info@v2
with:
versionString: "${{ github.event.head_commit.message }}"
- name: workflow-setup
id: workflow-setup
uses: hyperledger/indy-shared-gha/.github/actions/workflow-setup@v2
createRelease:
name: Create Release
needs: [release-infos]
if: needs.release-infos.outputs.isVersionBump == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Plenum deb Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: releasepr.yaml
workflow_conclusion: success
name: plenum-deb
path: artifacts/plenum-deb
- name: Download Plenum python Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: releasepr.yaml
workflow_conclusion: success
name: plenum-python
path: artifacts/plenum-python
- name: Download Plenum third party dependency Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: releasepr.yaml
workflow_conclusion: success
name: third-party-dependencies
path: artifacts/third-party-dependencies
- uses: actions/upload-artifact@v4
with:
name: third-party-dependencies
path: artifacts/third-party-dependencies
retention-days: 5
- uses: actions/upload-artifact@v4
with:
name: plenum-deb
path: artifacts/plenum-deb
retention-days: 5
- uses: actions/upload-artifact@v4
with:
name: plenum-python
path: artifacts/plenum-python
retention-days: 5
- name: Zip Files for Release
run: |
zip -r artifacts/plenum-deb.zip artifacts/plenum-deb
zip -r artifacts/plenum-python.zip artifacts/plenum-python
zip -r artifacts/third-party-dependencies.zip artifacts/third-party-dependencies
- name: Generate Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.release-infos.outputs.VERSIONTAG }}
files: |
artifacts/**.zip
generate_release_notes: true
body: "[${{ needs.release-infos.outputs.VERSIONTAG }}] "
prerelease: ${{ needs.release-infos.outputs.isPreRelease }}
target_commitish: ${{ github.event.ref }}
name: "${{ needs.release-infos.outputs.VERSIONTAG }}"
token: ${{ secrets.BOT_PR_PAT }}
publish_artifacts:
name: Publish Artifacts
needs: [release-infos, createRelease]
if: needs.release-infos.outputs.isVersionBump == 'true' && needs.release-infos.outputs.publish == 'true'
uses: hyperledger/indy-shared-gha/.github/workflows/publish_artifacts.yaml@v2
with:
COMPONENT: ${{ needs.release-infos.outputs.component }}
UBUNTU_VERSION: ${{ needs.release-infos.outputs.UBUNTU_VERSION }}
distribution: ${{ needs.release-infos.outputs.distribution }}
moduleName: plenum
secrets:
INDY_ARTIFACTORY_REPO_CONFIG: ${{ secrets.INDY_ARTIFACTORY_REPO_CONFIG }}
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
convertPyVersion:
name: "Convert to python version flavour"
needs: [release-infos, publish_artifacts]
uses: hyperledger/indy-shared-gha/.github/workflows/pyVersionConversion.yaml@v2
with:
VERSIONTAG: ${{ needs.release-infos.outputs.VERSIONTAG }}
triggerNodeUpdate:
runs-on: ubuntu-latest
needs: [release-infos, publish_artifacts, convertPyVersion]
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.BOT_PR_PAT }}
repository: hyperledger/indy-node
event-type: update-node
client-payload: '{"pyVersion": "${{ needs.convertPyVersion.outputs.pyVersion }}", "debVersion": "${{ steps.conversion.outputs.debVersion }}", "email":"${{ github.event.pusher.email }}"}'