From 5e2501e01feb3365570e7aea8feaa9d2dd48e2d1 Mon Sep 17 00:00:00 2001 From: Raaj Gopal Date: Thu, 9 May 2024 13:53:26 +0530 Subject: [PATCH] TP-64651: Codepush action for qa deployment (#10779) Co-authored-by: Shivam Goyal --- .github/workflows/codepush_cli.yml | 85 +++--------------------------- 1 file changed, 6 insertions(+), 79 deletions(-) diff --git a/.github/workflows/codepush_cli.yml b/.github/workflows/codepush_cli.yml index fe514293f2..b63959d832 100644 --- a/.github/workflows/codepush_cli.yml +++ b/.github/workflows/codepush_cli.yml @@ -20,97 +20,24 @@ on: type: string default: 'bug fixes and minor ui enhancements' jobs: - generate: - runs-on: [default] - outputs: - package_version: ${{ steps.get_version.outputs.version }} - build_number: ${{ steps.get_version.outputs.buildNumber }} + build: + runs-on: [ default ] + defaults: + run: + working-directory: . steps: - name: Checkout Repository uses: actions/checkout@v4 - with: - token: ${{ secrets.GH_PAT }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 18.18.0 - - name: Get version from package.json - id: get_version - run: | - VERSION=$(node -p "require('./package.json').version") - BUILD_NUMBER=$(node -p "require('./package.json').buildNumber") - echo "version=$VERSION" >> $GITHUB_OUTPUT - echo "Extracted version is $VERSION" - echo "Set version to $VERSION" - echo "buildNumber=$BUILD_NUMBER" >> $GITHUB_OUTPUT - echo "Set buildNumber to $BUILD_NUMBER" - name: Install appcenter cli run: npm install -g appcenter-cli - name: Install Node Modules run: npm install - name: AppCenter login run: appcenter login --token ${{ secrets.APP_CENTER_LOGIN_TOKEN }} - - name: Add version name in gradle properities - run: sed -i 's/def VERSION_NAME=${{github.event.inputs.target_versions}}"/g' gradle.properties - name: CodePush QA if: ((github.event.inputs.environment == 'QA' || inputs.environment == 'QA')) - run: appcenter codepush release-react -a rn_super_app/NaviApp -d Staging -t "${{github.event.inputs.target_versions}}" --description "${{github.event.inputs.description}}" - - # Below step we will enable for Production, also prod deployment needs approval so will integrate that accordingly. - create_release_tag: - needs: generate - runs-on: [default] - if: success() && (github.event.inputs.environment == 'Prod') # Only create tag for Prod releases - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - token: ${{ secrets.GH_PAT }} - submodules: recursive - persist-credentials: true - - name: Check if tag exists - id: check_tag - run: | - TAG_NAME="${{ needs.generate.outputs.package_version }}" - EXISTING_TAG=$(git ls-remote --tags origin refs/tags/$TAG_NAME) - if [[ -z "$EXISTING_TAG" ]]; then - echo "Tag $TAG_NAME does not exist." - echo "tag_exists=false" >> $GITHUB_ENV - else - echo "Tag $TAG_NAME already exists." - echo "tag_exists=true" >> $GITHUB_ENV - fi - - - name: Create and push tag - if: env.tag_exists == 'false' - run: | - TAG_NAME="${{ needs.generate.outputs.package_version }}" - # git config --local user.email "${{ github.actor }}@github.com" - git config --local user.name "${{ github.actor }}" - git tag $TAG_NAME - git push origin $TAG_NAME - env: - GITHUB_TOKEN: ${{ secrets.GH_PAT }} - - name: Create release tag - run: | - TAG_NAME="${{ needs.generate.outputs.package_version }}" - BUILD_NUMBER="${{ needs.generate.outputs.build_number }}" - RELEASE_NAME="$TAG_NAME (build $BUILD_NUMBER) code push" - DESCRIPTION="${{ github.event.inputs.description }}" - REPO="navi-medici/address-verification-app" - BRANCH_NAME="${GITHUB_REF#refs/heads/}" - - curl -X POST \ - -H "Authorization: token ${{ secrets.GH_PAT }}" \ - -H "Content-Type: application/json" \ - -d "{ - \"tag_name\": \"$TAG_NAME\", - \"target_commitish\": \"$BRANCH_NAME\", - \"name\": \"$RELEASE_NAME\", - \"body\": \"\", - \"draft\": false, - \"prerelease\": false, - \"generate_release_notes\": true - }" \ - "https://api.github.com/repos/$REPO/releases" - shell: bash \ No newline at end of file + run: appcenter codepush release-react -a navi-rn_super_app/NaviApp -d Staging -t "${{inputs.target_versions}}" --description "${{inputs.description}}" \ No newline at end of file