Skip to content

Merge pull request #2835 from HedvigInsurance/feat/upsell-addons-generic #381

Merge pull request #2835 from HedvigInsurance/feat/upsell-addons-generic

Merge pull request #2835 from HedvigInsurance/feat/upsell-addons-generic #381

Workflow file for this run

name: Trigger new umbrella release
on:
push:
branches:
- develop
- makerdays/chat-claim
paths:
- 'app/authlib/**'
- 'app/feature/feature-claim-chat/**'
- 'app/shareddi/**'
workflow_dispatch:
concurrency:
group: ref-${{ github.workflow }}
cancel-in-progress: false
jobs:
umbrella_release:
name: Build and release new umbrella version
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v5
- name: Setup CI
uses: ./.github/actions/common-setup
with:
gradle-cache-read-only: 'false'
datadog-api-key: ${{ secrets.DATADOG_API_KEY }}
lokalise-id: ${{ secrets.LOKALISE_ID }}
lokalise-token: ${{ secrets.LOKALISE_TOKEN }}
- name: Build umbrella XCFramework
run: ./gradlew :umbrella:assembleHedvigSharedReleaseXCFramework
- name: Generate version timestamp
id: time
uses: nanzm/get-time-action@v2.0
with:
timeZone: UTC
format: 'YYYYMMDDHHmmss'
- name: Generate new release version code
run: |
VERSION="0.0.$VERSION_TIMESTAMP"
echo Will make a release with version:$VERSION
echo VERSION_CODE=$VERSION >> $GITHUB_ENV
env:
VERSION_TIMESTAMP: "${{ steps.time.outputs.time }}"
- name: Generate new Package.swift contents
run: |
set -x
RELEASE_DIR="${{ github.workspace }}/app/umbrella/build/XCFrameworks/release/"
function zipXCFramework {
cd $1
zip -r HedvigShared.xcframework.zip HedvigShared.xcframework/*
cd -
}
zipXCFramework $RELEASE_DIR
function checksum {
echo $(swift package compute-checksum $RELEASE_DIR$1)
}
CHECKSUM=$(checksum HedvigShared.xcframework.zip)
function url {
echo https://github.com/HedvigInsurance/umbrella/releases/download/$1/HedvigShared.xcframework.zip
}
URL=$(url $VERSION_CODE)
# Define the content for Package.swift
PACKAGE_SWIFT_CONTENT_RAW=$(cat << EOF
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "HedvigShared",
platforms: [
.iOS(.v14),
],
products: [
.library(
name: "HedvigShared",
targets: ["HedvigShared"]
)
],
targets: [
.binaryTarget(
name: "HedvigShared",
url: "$URL",
checksum: "$CHECKSUM"
)
]
)
EOF
)
PACKAGE_SWIFT_CONTENT_ENCODED=$(echo "$PACKAGE_SWIFT_CONTENT_RAW" | base64)
echo "PACKAGE_SWIFT_FILE_CONTENT_ENCODED=$PACKAGE_SWIFT_CONTENT_ENCODED" >> $GITHUB_ENV
env:
VERSION_CODE: ${{ env.VERSION_CODE }}
- name: Checkout umbrella repo under the path_umbrella path
uses: actions/checkout@v5
with:
path: path_umbrella
repository: hedviginsurance/umbrella
token: ${{ secrets.UMBRELLA_REPO_PAT }}
- name: Update Package.swift inside umbrella repo
run: echo $PACKAGE_SWIFT_FILE_CONTENT_ENCODED | base64 -d > path_umbrella/Package.swift
env:
PACKAGE_SWIFT_FILE_CONTENT_ENCODED: ${{ env.PACKAGE_SWIFT_FILE_CONTENT_ENCODED }}
- name: Commit the changes, tag and release the new umbrella version
run: |
cd path_umbrella
git remote rm origin
git remote add origin https://github.com/HedvigInsurance/umbrella.git
git add .
git commit -am "Update Package.swift"
git tag -a $VERSION_CODE -m "Release $VERSION_CODE"
git push --set-upstream origin main
git push --tags
cd ..
gh release create "$VERSION_CODE" app/umbrella/build/XCFrameworks/release/HedvigShared.xcframework.zip \
--fail-on-no-commits \
--verify-tag \
--repo https://github.com/HedvigInsurance/umbrella
env:
VERSION_CODE: ${{ env.VERSION_CODE }}
GH_TOKEN: ${{ secrets.UMBRELLA_REPO_PAT }}