chore: Separate original workflow to make build and release logic
reusuable for different triggers
This commit is contained in:
parent
5f3fb80788
commit
4be236073a
2 changed files with 53 additions and 29 deletions
44
.github/workflows/build-and-release.yaml
vendored
Normal file
44
.github/workflows/build-and-release.yaml
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
name: Build and Release
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
release-version:
|
||||
required: true
|
||||
type: string
|
||||
draft-flag:
|
||||
type: string
|
||||
default: -draft
|
||||
secrets:
|
||||
XCFRAMEWORK_SIGNING_TOKEN:
|
||||
required: true
|
||||
GITHUB_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- run: sudo xcode-select --switch /Applications/Xcode_15.1.app
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
run: brew install ghr
|
||||
- name: Build Capacitor and Cordova
|
||||
run: ./build-cap ${{ inputs.release-version }}
|
||||
- name: Sign Capacitor xcframework
|
||||
uses: ionic-team/sign-xcframework@main
|
||||
with:
|
||||
cert-token: ${{ secrets.XCFRAMEWORK_SIGNING_TOKEN }}
|
||||
xcframework-path: Capacitor.xcframework
|
||||
- name: Sign Cordova xcframework
|
||||
uses: ionic-team/sign-xcframework@main
|
||||
with:
|
||||
cert-token: ${{ secrets.XCFRAMEWORK_SIGNING_TOKEN }}
|
||||
xcframework-path: Cordova.xcframework
|
||||
- name: Package Capacitor and Cordova
|
||||
run: ./package-cap ${{ inputs.release-version }}
|
||||
- name: Push manifest update
|
||||
uses: EndBug/add-and-commit@v9
|
||||
- name: Create Release
|
||||
run: ghr -token ${{ secrets.GITHUB_TOKEN }} -name ${{ inputs.release-version }} ${{ inputs.draft-flag }} -replace ${{ inputs.release-version }} frameworks
|
||||
36
.github/workflows/pre-release.yml
vendored
36
.github/workflows/pre-release.yml
vendored
|
|
@ -6,33 +6,13 @@ on:
|
|||
- "release/**"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
timeout-minutes: 30
|
||||
release-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: sudo xcode-select --switch /Applications/Xcode_15.1.app
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
gem install cocoapods xcpretty
|
||||
brew install ghr
|
||||
- name: Assign version to RELEASE_VERSION environment variable
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/*/}" >> $GITHUB_ENV
|
||||
- name: Build Capacitor and Cordova
|
||||
run: ./build-cap $RELEASE_VERSION
|
||||
- name: Sign Capacitor xcframework
|
||||
uses: ionic-team/sign-xcframework@main
|
||||
- run: echo "release_version=${GITHUB_REF#refs/*/*}" >> $GITHUB_OUTPUT
|
||||
create-pre-release:
|
||||
needs: release-version
|
||||
uses: ./github/workflows/build-and-release.yaml
|
||||
with:
|
||||
cert-token: ${{ secrets.XCFRAMEWORK_SIGNING_TOKEN }}
|
||||
xcframework-path: Capacitor.xcframework
|
||||
- name: Sign Cordova xcframework
|
||||
uses: ionic-team/sign-xcframework@main
|
||||
with:
|
||||
cert-token: ${{ secrets.XCFRAMEWORK_SIGNING_TOKEN }}
|
||||
xcframework-path: Cordova.xcframework
|
||||
- name: Package Capacitor and Cordova
|
||||
run: ./package-cap $RELEASE_VERSION
|
||||
- name: Push manifest update
|
||||
uses: EndBug/add-and-commit@v9
|
||||
- name: Create Draft Release
|
||||
run: ghr -token ${{ secrets.GITHUB_TOKEN }} -name ${{ env.RELEASE_VERSION }} -draft -replace ${{ env.RELEASE_VERSION }} frameworks
|
||||
release-version: ${{ jobs.release-version.outputs.release_version }}
|
||||
secrets: inherit
|
||||
|
|
|
|||
Loading…
Reference in a new issue