Skip to content

Draft Release With Tag #19

Draft Release With Tag

Draft Release With Tag #19

name: Draft Release With Tag
on: workflow_dispatch
permissions:
contents: write
jobs:
publish:
runs-on: macos-latest
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app
steps:
- name: Check if on master branch
run: |
if [ "${{ github.ref }}" = "refs/heads/master" ]; then
echo "Running on master branch"
else
echo "Not running on master branch"
exit 1
fi
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GIOSDK_PAT }}
- name: Conventional Changelog
id: changelog
uses: TriPSs/conventional-changelog-action@v3
with:
preset: 'angular'
skip-version-file: 'true'
skip-commit: 'true'
tag-prefix: ''
- name: Update Version
if: ${{ steps.changelog.outputs.skipped == 'false' }}
run: |
sh ./scripts/update_version.sh ${{ steps.changelog.outputs.tag }}
git config user.name GIOSDK
git config user.email [email protected]
git commit -am "feat: release ${{ steps.changelog.outputs.tag }}"
git push
git tag -d ${{ steps.changelog.outputs.tag }}
git push origin -d tag ${{ steps.changelog.outputs.tag }}
git tag ${{ steps.changelog.outputs.tag }}
git push --tags
- name: Generate xcframework
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
CODESIGN_IDENTIFY_NAME: ${{ secrets.CODESIGN_IDENTIFY_NAME }}
if: ${{ steps.changelog.outputs.skipped == 'false' }}
run:
sh ./scripts/generate_xcframework.sh releaseDefaultAutotracker --codesign --verbose
- name: Archive
if: ${{ steps.changelog.outputs.skipped == 'false' }}
run: |
cd ./generate
tar -czvf GrowingAnalytics.xcframework.tar.gz ./Release
zip -r -y GrowingAnalytics.xcframework.zip ./Release
- name: Release
if: ${{ steps.changelog.outputs.skipped == 'false' }}
uses: softprops/action-gh-release@v1
with:
files: |
${{ github.workspace }}/generate/GrowingAnalytics.xcframework.tar.gz
${{ github.workspace }}/generate/GrowingAnalytics.xcframework.zip
body: ${{ steps.changelog.outputs.changelog }}
tag_name: ${{ steps.changelog.outputs.tag }}
name: v${{ steps.changelog.outputs.tag }}
draft: true