Remove need to depend on js-sys when consuming errors (#36) #23
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: Build Swift Package | |
on: | |
push: | |
branches: | |
- "rc" | |
- "hotfix-rc" | |
- "main" | |
workflow_dispatch: | |
jobs: | |
version: | |
name: Get Version | |
runs-on: ubuntu-22.04 | |
outputs: | |
package_version: ${{ steps.retrieve-version.outputs.package_version }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- name: Get Package Version | |
id: retrieve-version | |
run: | | |
VERSION=$(grep -o '^version = ".*"' Cargo.toml | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+") | |
echo "package_version=$VERSION" >> $GITHUB_OUTPUT | |
build: | |
name: Build | |
runs-on: macos-13 | |
needs: version | |
env: | |
_VERSION: ${{ needs.version.outputs.package_version }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a # stable | |
with: | |
toolchain: stable | |
- name: Cache cargo registry | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
with: | |
key: sdk-swift-cargo | |
- name: Rustup target | |
run: | | |
rustup target install aarch64-apple-ios-sim | |
rustup target install aarch64-apple-ios | |
rustup target install x86_64-apple-ios | |
- name: Build | |
shell: bash | |
working-directory: crates/bitwarden-uniffi/swift | |
id: build | |
run: | | |
./build.sh | |
# SHA Short | |
echo "short-sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
- name: Zip BitwardenFFI.xcframework | |
run: | | |
mkdir artifacts | |
cp -rf crates/bitwarden-uniffi/swift/BitwardenFFI.xcframework artifacts | |
- name: Upload BitwardenFFI.xcframework artifact | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: BitwardenFFI-${{ env._VERSION }}-${{ steps.build.outputs.short-sha }}.xcframework | |
path: artifacts | |
if-no-files-found: error | |
- name: Upload BitwardenSdk sources | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: BitwardenSdk-${{ env._VERSION }}-${{ steps.build.outputs.short-sha }}-sources | |
path: crates/bitwarden-uniffi/swift/Sources/BitwardenSdk | |
if-no-files-found: error | |
trigger-swift-release: | |
name: Trigger Swift release | |
if: github.ref == 'refs/heads/main' | |
runs-on: ubuntu-22.04 | |
needs: build | |
steps: | |
- name: Login to Azure - CI Subscription | |
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0 | |
with: | |
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }} | |
- name: Retrieve github PAT secrets | |
id: retrieve-secret-pat | |
uses: bitwarden/gh-actions/get-keyvault-secrets@main | |
with: | |
keyvault: "bitwarden-ci" | |
secrets: "github-pat-bitwarden-devops-bot-repo-scope" | |
- name: Trigger Swift release | |
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 | |
with: | |
github-token: ${{ steps.retrieve-secret-pat.outputs.github-pat-bitwarden-devops-bot-repo-scope }} | |
script: | | |
await github.rest.actions.createWorkflowDispatch({ | |
owner: 'bitwarden', | |
repo: 'sdk-internal', | |
workflow_id: 'release-swift.yml', | |
ref: 'main', | |
inputs: { | |
'build-run-id': '${{ github.run_id }}', | |
'pre-release': 'true' | |
} | |
}) |