Merge pull request #2835 from HedvigInsurance/feat/upsell-addons-generic #381
This file contains hidden or 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: 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 }} |