Skip to content

Generate Release 2.4.0 #1

Generate Release 2.4.0

Generate Release 2.4.0 #1

name: Generate Release
run-name: Generate Release ${{ fromJSON(inputs.major) }}.${{ fromJSON(inputs.minor) }}.${{ fromJSON(inputs.patch) }}
on:
workflow_dispatch:
inputs:
major:
description: 'Major version'
required: true
default: '1'
type: choice
options:
- '1'
- '2'
minor:
description: 'Minor version'
required: true
type: number
patch:
description: 'Patch version'
required: true
type: number
jobs:
bump-version-and-raise-pr:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
env:
version: ${{ fromJSON(inputs.major) }}.${{ fromJSON(inputs.minor) }}.${{ fromJSON(inputs.patch) }}
branch: ${{ inputs.major == 2 && 'develop' || 'develop_1.x' }}
target: ${{ inputs.major == 2 && 'main' || 'main_1.x' }}
steps:
- name: Check minor has no decimals
run: ${{ !contains(fromJSON(inputs.minor), '.') }}
- name: Check patch has no decimals
run: ${{ !contains(fromJSON(inputs.patch), '.') }}
- name: Checkout ${{ env.target }}
uses: actions/checkout@v4
with:
ref: ${{ env.target }}
fetch-depth: 0
- name: Ensure tag does not exist
run: |
if git show-ref --tags --verify --quiet "refs/tags/$version"; then
echo "::error::Tag $version exists" && exit 1
else
echo "Tag $version does not exist"
fi
- name: Ensure branch does not exist
run: |
if git show-ref --verify --quiet "refs/remotes/origin/release/$version"; then
echo "::error::Release branch release/$version exists" && exit 1
else
echo "Release branch release/$version does not exist"
fi
- name: Merge in ${{ env.branch }}
run: |
git config user.name github-actions
git config user.email [email protected]
git merge origin/${{ env.branch }}
- name: Update version in txt file
run: sed -i "s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$version/" ./mambaSharedFramework/Resources/version.txt
- name: Update version in xcodeproj file
run: sed -i "s/MARKETING_VERSION = [0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\};/MARKETING_VERSION = $version;/" ./mamba.xcodeproj/project.pbxproj
- name: Update version in podspec file
run: sed -i "s/= \"[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\"/= \"$version\"/" ./mamba.podspec
- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
title: Release ${{ env.version }}
commit-message: Bump version to ${{ env.version }}
branch: release/${{ env.version }}
body: |
Automated version bump to ${{ env.version }} generated by [create-pull-request][1].
[1]: https://github.com/peter-evans/create-pull-request