Release #79
This file contains 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: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
dryRun: | |
description: "Do a dry run to preview instead of a real release" | |
required: true | |
default: "true" | |
jobs: | |
authorize: | |
name: Authorize | |
runs-on: macos-latest | |
steps: | |
- name: ${{ github.actor }} permission check to do a release | |
uses: octokit/[email protected] | |
with: | |
route: GET /repos/:repository/collaborators/${{ github.actor }} | |
repository: ${{ github.repository }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
release: | |
name: Release | |
runs-on: macos-latest | |
needs: [authorize] | |
env: | |
SWIFT_DOC_VERSION: '1.0.0-rc.1' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set Xcode 14.2 | |
run: | | |
sudo xcode-select -switch /Applications/Xcode_14.2.app | |
- name: Set up Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Carthage Bootstrap | |
run: carthage bootstrap --use-xcframeworks | |
- name: iOS Tests | |
run: | | |
xcodebuild test \ | |
-project Experiment.xcodeproj \ | |
-scheme Experiment \ | |
-sdk iphonesimulator \ | |
-destination 'platform=iOS Simulator,name=iPhone 14,OS=16.2' | |
- name: macOS Tests | |
run: | | |
xcodebuild \ | |
-project Experiment.xcodeproj \ | |
-scheme Experiment \ | |
-sdk macosx \ | |
-destination 'platform=macosx' \ | |
test | |
- name: tvOS Tests | |
run: | | |
xcodebuild \ | |
-project Experiment.xcodeproj \ | |
-scheme Experiment \ | |
-sdk appletvsimulator \ | |
-destination 'platform=tvOS Simulator,name=Apple TV' \ | |
test | |
- name: Validate Podfile | |
run: pod lib lint --allow-warnings | |
- name: Semantic Release --dry-run | |
if: ${{ github.event.inputs.dryRun == 'true'}} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} | |
GIT_AUTHOR_NAME: amplitude-sdk-bot | |
GIT_AUTHOR_EMAIL: [email protected] | |
GIT_COMMITTER_NAME: amplitude-sdk-bot | |
GIT_COMMITTER_EMAIL: [email protected] | |
run: | | |
npx \ | |
-p lodash \ | |
-p semantic-release \ | |
-p @semantic-release/changelog \ | |
-p @semantic-release/git \ | |
-p @google/semantic-release-replace-plugin \ | |
-p @semantic-release/exec \ | |
semantic-release --dry-run | |
- name: Semantic Release | |
if: ${{ github.event.inputs.dryRun == 'false'}} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} | |
GIT_AUTHOR_NAME: amplitude-sdk-bot | |
GIT_AUTHOR_EMAIL: [email protected] | |
GIT_COMMITTER_NAME: amplitude-sdk-bot | |
GIT_COMMITTER_EMAIL: [email protected] | |
run: | | |
npx \ | |
-p lodash \ | |
-p semantic-release \ | |
-p @semantic-release/changelog \ | |
-p @semantic-release/git \ | |
-p @google/semantic-release-replace-plugin \ | |
-p @semantic-release/exec \ | |
semantic-release | |