Skip to content

Binary specific release #32

Binary specific release

Binary specific release #32

# This workflow will release project with Gradle
name: Binary specific release
on:
workflow_dispatch:
inputs:
release_version:
description: 'The version that is going to be release'
required: true
new_version:
description: 'The version that should be used as a new one after the release.'
required: true
jobs:
release:
runs-on: ubuntu-latest
timeout-minutes: 40
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.ZOWE_ROBOT_TOKEN }}
- uses: ./.github/actions/setup
- name: Print npm version
run: npm -v
- name: Build with Gradle
run: ./gradlew clean build
- name: Clean git
run: git reset --hard HEAD
- name: Set email
run: git config user.email "[email protected]"
- name: Set name
run: git config user.name "Zowe Robot"
- name: Release to NPM automatic
shell: bash
run: |
cd onboarding-enabler-nodejs
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
echo "registry=$DIST_REGISTRY" >> ~/.npmrc
npm version ${{ github.event.inputs.release_version }} --allow-same-version
npm publish --access public
git add package.json
git add package-lock.json
git commit -m "[skip ci] Update version"
git push
cd ..
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
DIST_REGISTRY: https://registry.npmjs.org/
- name: Release with Gradle automatic
shell: bash
run: |
./gradlew release -x test -x checkstyleTest -Prelease.useAutomaticVersion=true -Prelease.releaseVersion=${{ github.event.inputs.release_version }} -Prelease.newVersion=${{ github.event.inputs.new_version }} -Pzowe.deploy.username=$ARTIFACTORY_USERNAME -Pzowe.deploy.password=$ARTIFACTORY_PASSWORD -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD
released_version=$(cat gradle.properties | grep "version=" | sed "s/version=//g")
sed -i "/REACT_APP_ZOWE_BUILD_INFO=/c\REACT_APP_ZOWE_BUILD_INFO=${released_version}" api-catalog-ui/frontend/.env
git add api-catalog-ui/frontend/.env
git commit -m "[skip ci] Update version"
git push
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
BUILD_NUMBER: ${{ github.run_number }}
BRANCH_NAME: ${{ github.ref_name }}
- name: Store test results
uses: actions/upload-artifact@v4
if: failure()
with:
name: BinarySpecificRelease-${{ github.run_number }}
path: |
gateway-service/build/reports/**
discovery-service/build/reports/**
caching-service/build/reports/**
api-catalog-services/build/reports/**
zaas-service/build/reports/**
/home/runner/.npm/logs/**
- uses: ./.github/actions/teardown