Skip to content

Repo Dispatches and dispatchable WF-Runs #10

Repo Dispatches and dispatchable WF-Runs

Repo Dispatches and dispatchable WF-Runs #10

Workflow file for this run

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:
- '!**'
- "indy_node/__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 }}
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@v3
- name: get-release-info
id: get-release-info
uses: hyperledger/indy-shared-gha/.github/actions/get-release-info@v1
with:
versionString: "${{ github.event.head_commit.message }}"
- name: workflow-setup
id: workflow-setup
uses: hyperledger/indy-shared-gha/.github/actions/workflow-setup@v1
createRelease:
name: Create Release
needs: [release-infos]
if: needs.release-infos.outputs.isVersionBump == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Node deb Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: releasepr.yaml
workflow_conclusion: success
name: indy_node-deb
path: artifacts/indy_node-deb
- name: Download Node python Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: releasepr.yaml
workflow_conclusion: success
name: indy_node-python
path: artifacts/indy_node-python
- name: Download Node third party dependency Artifacts from Github Action Artifacts
uses: dawidd6/action-download-artifact@v2
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@v3
with:
name: third-party-dependencies
path: artifacts/third-party-dependencies
retention-days: 5
- uses: actions/upload-artifact@v3
with:
name: indy_node-deb
path: artifacts/indy_node-deb
retention-days: 5
- uses: actions/upload-artifact@v3
with:
name: indy_node-python
path: artifacts/indy_node-python
retention-days: 5
- name: Zip Files for Release
run: |
zip -r artifacts/indy_node-deb.zip artifacts/indy_node-deb
zip -r artifacts/indy_node-python.zip artifacts/indy_node-python
zip -r artifacts/third-party-dependencies.zip artifacts/third-party-dependencies
- name: Generate Release
uses: softprops/action-gh-release@v1
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@v1
with:
COMPONENT: ${{ needs.release-infos.outputs.component }}
UBUNTU_VERSION: ${{ needs.release-infos.outputs.UBUNTU_VERSION }}
distribution: ${{ needs.release-infos.outputs.distribution }}
moduleName: indy_node
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]
runs-on: ubuntu-latest
outputs:
pyVersion: ${{ steps.conversion.outputs.pyVersion }}
debVersion: ${{ steps.conversion.outputs.debVersion }}
steps:
- name: "conversion"
id: conversion
uses: hyperledger/indy-shared-gha/.github/workflows/pyVersionConversion.yaml@v1
with:
VERSIONTAG: ${{ needs.release-infos.outputs.VERSIONTAG }}
triggerSovrinUpdate:
runs-on: ubuntu-latest
needs: [release-infos, publish_artifacts, convertPyVersion]
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.BOT_PR_PAT }}
repository: sovrin-foundation/sovrin
event-type: update-sovrin
client-payload: '{"pyVersion": "${{ needs.convertPyVersion.outputs.pyVersion }}", "debVersion": "${{ needs.convertPyVersion.debVersion }}", "email":"${{ github.event.pusher.email }}"}'
triggerTokenUpdate:
runs-on: ubuntu-latest
needs: [release-infos, publish_artifacts, convertPyVersion]
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.BOT_PR_PAT }}
repository: sovrin-foundation/token-plugin
event-type: update-token-plugin
client-payload: '{"pyVersion": "${{ needs.convertPyVersion.outputs.pyVersion }}", "debVersion": "${{ needs.convertPyVersion.outputs.debVersion }}", "email":"${{ github.event.pusher.email }}"}'