Update client-core-dispatch.yml #59
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to Maven Central | |
# on: | |
# release: | |
# types: [created] | |
on: | |
push: | |
branches: [ newPublishPipeline ] | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check if commit message starts with "release:" | |
id: check_commit | |
run: | | |
COMMIT_MSG="${{ github.event.head_commit.message }}" | |
# Check if commit message starts with 'release:' | |
if [[ "$COMMIT_MSG" != release:* ]]; then | |
echo "Commit message does not start with 'release:'. Skipping workflow." | |
exit 0 | |
fi | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
server-id: central | |
server-username: MAVEN_USERNAME | |
server-password: MAVEN_PASSWORD | |
gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} | |
gpg-passphrase: GPG_PASSPHRASE | |
- name: Extract libraries from commit message | |
id: extract-libs | |
run: | | |
# Extract text between square brackets after [build-libs] | |
COMMIT_MSG="${{ github.event.head_commit.message }}" | |
LIBS=$(echo "$COMMIT_MSG" | grep -o '\[build-libs\]\[.*\]' | grep -o '\[.*\]$' | tr -d '[]') | |
if [ -z "$LIBS" ]; then | |
echo "No libraries specified in commit message" | |
exit 0 | |
fi | |
echo "Found libraries: $LIBS" | |
echo "libraries=$LIBS" >> $GITHUB_OUTPUT | |
# COMMIT_MSG="${{ github.event.head_commit.message }}" | |
# # Check if commit message contains a valid format for libraries | |
# # if [[ "$COMMIT_MSG" =~ ^release:\ \[([a-zA-Z0-9, ]+)\]\ .* ]]; then | |
# LIBS="${BASH_REMATCH[1]}" | |
# echo "Found libraries: $LIBS" | |
# echo "libraries=$LIBS" >> $GITHUB_OUTPUT | |
# # else | |
# # echo "No valid libraries found in commit message" | |
# # exit 1 | |
# # fi | |
- name: Enable Corepack and Install Yarn | |
run: | | |
# Enable Corepack | |
corepack enable | |
# corepack prepare [email protected] --activate | |
- name: Dependency Install | |
run: | | |
# Create a new folder for the dependencies | |
mkdir -p /home/runner/work/hyperswitch-sdk-android | |
cd /home/runner/work/hyperswitch-sdk-android | |
# Download package.json from GitHub | |
# curl -o package.json -L https://raw.githubusercontent.com/juspay/hyperswitch-client-core/main/package.json | |
git clone https://github.com/juspay/hyperswitch-client-core.git | |
cp -r hyperswitch-client-core/* . | |
rm -rf thyperswitch-client-core | |
rm -rf android | |
rm -rf ios | |
# cat > react-native.config.js << 'EOL' | |
# module.exports = { | |
# assets: ['./assets/fonts/'], | |
# project: { | |
# android: { | |
# appName: 'demoapp', | |
# }, | |
# }, | |
# }; | |
# EOL | |
echo "Directory structure after setup:" | |
ls | |
mv hyperswitch-sdk-android android | |
ls | |
# Install dependencies using yarn | |
npm i | |
# curl -o react-native.config.js -L https://raw.githubusercontent.com/juspay/hyperswitch-client-core/main/react-native.config.js | |
# curl -o rescript.json -L https://raw.githubusercontent.com/juspay/hyperswitch-client-core/main/rescript.json | |
npm run re:start | |
echo "Directory structure after downloads:" | |
ls | |
# echo "module.exports = { project: { android: { sourceDir: './android' } } };" > react-native.config.js | |
# # Ensure the gradle.properties file exists | |
# mkdir -p android && touch android/gradle.properties | |
# Check if the necessary build folder exists, otherwise fail | |
if [ ! -d "node_modules/@react-native/gradle-plugin" ]; then | |
echo "Included build 'node_modules/@react-native/gradle-plugin' does not exist." | |
# exit 1 | |
fi | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 | |
- name: Build and Publish | |
env: | |
MAVEN_USERNAME: ${{ secrets.CENTRAL_TOKEN_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} | |
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} | |
GPG_FULL_SIGNING_KEY: ${{ secrets.GPG_FULL_SIGNING_KEY }} | |
SONATYPE_TOKEN: ${{ secrets.SONATYPE_TOKEN_2 }} | |
# SELECTED_LIBRARIES: "hyperswitch-gradle-plugin,plugin" | |
SELECTED_LIBRARIES: ${{ steps.extract-libs.outputs.libraries }} | |
run: ./build-lib.sh | |
# - name: Upload to Maven Central | |
# env: | |
# SONATYPE_TOKEN: ${{ secrets.SONATYPE_TOKEN }} | |
# run: ./upload-lib.sh |