Skip to content

ci: publish to cloudsmith and cocoapods #71

ci: publish to cloudsmith and cocoapods

ci: publish to cloudsmith and cocoapods #71

Workflow file for this run

name: Publish Package
on:
push:
workflow_dispatch:
inputs:
beta:
description: Publish a beta version (npmjs)
default: false
required: true
type: boolean
rust:
description: Publish a rust version (crates.io)
default: true
required: true
type: boolean
android:
description: Publish an android version (maven)
default: true
required: true
type: boolean
wasm:
description: Publish a wasm version (npmjs)
default: true
required: true
type: boolean
swift:
description: Publish a swift version (cocoapods)
default: true
required: true
type: boolean
jobs:
# build-wasm:
# environment: npm-publish
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repo
# uses: actions/checkout@v4
# - name: Checkout action
# uses: actions/checkout@v3
# with:
# repository: Devolutions/actions
# path: actions
# ref: v2
# token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}
# - name: Setup wasm
# run: |
# curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
# wasm-pack --version
# - name: Build
# run: sh build.sh
# working-directory: wrappers/wasm
# - name: Upload artifact
# uses: actions/upload-artifact@v4
# with:
# name: wasm
# path: dist/bundler
# - name: Setup .npmrc config file
# uses: ./actions/npmrc-setup
# with:
# github_token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}
# - name: Publish
# run: npm publish --tag 'beta' #${{ inputs.beta && 'beta' || 'latest' }}
# working-directory: dist/bundler
# - run: rm $HOME/.npmrc
# - name: Configure NPM
# run: npm config set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"
# - name: Publish
# run: npm publish --tag 'beta' #${{ inputs.beta && 'beta' || 'latest' }}
# working-directory: dist/bundler
# # - name: Update Artifactory Cache
# # run: gh workflow run update-artifactory-cache.yml --repo Devolutions/scheduled-tasks --field package_name="slauth"
# # env:
# # GH_TOKEN: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}
# build-android:
# environment: cloudsmith-publish
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repo
# uses: actions/checkout@v4
# - name: Set up JDK 1.8
# uses: actions/setup-java@v4
# with:
# java-version: '8'
# distribution: 'adopt'
# - name: Setup Android
# run: |
# wget https://dl.google.com/android/repository/android-ndk-r23b-linux.zip
# unzip android-ndk-r23b-linux.zip
# export ANDROID_NDK_HOME=$GITHUB_WORKSPACE/android-ndk-r23b
# echo "ANDROID_NDK_HOME=$ANDROID_NDK_HOME" >> $GITHUB_ENV
# echo "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH
# echo "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android" >> $GITHUB_ENV::LIBRARY_PATH
# echo "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android" >> $GITHUB_ENV::LD_LIBRARY_PATH
# rustup target add aarch64-linux-android
# rustup target add x86_64-linux-android
# rustup target add x86_64-unknown-linux-gnu
# - name: Build
# run: |
# cd wrappers/android
# sh build.sh
# - name: Create local.properties
# run: |
# echo "sdk.dir=$ANDROID_HOME" > local.properties
# - run: chmod +x gradlew
# - name: Package .aar
# run: ./gradlew clean assembleRelease
# env:
# CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
# CLOUDSMITH_USERNAME: bot-devolutions
# - run: ./gradlew publish
# env:
# CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
# CLOUDSMITH_USERNAME: bot-devolutions
# - name: Upload .aar artifact
# uses: actions/upload-artifact@v4
# with:
# name: android
# path: wrappers/android/build/outputs/aar/slauth-release.aar
build-swift:
environment: cocoapods-publish
runs-on: macos-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Select Xcode Version
run: ls /Applications | grep Xcode
- run: xcodebuild -version
- run: |
rustup target add aarch64-apple-ios
rustup target add x86_64-apple-ios
- name: Build iOS libraries
run: sh wrappers/swift/build.sh
# - name: Move files
# run: |
# mv LICENSE target
# mv ./slauth.h target
# - name: Package binaries
# run: |
# tar -czvf Slauth.tar.gz target
# - name: Checkout action
# uses: actions/checkout@v4
# with:
# repository: Devolutions/actions
# path: actions
# ref: v1
# token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}
# - name: Upload files to storage account
# uses: ./actions/azure-storage-blob-upload
# with:
# azure_client_id: ${{ secrets.DEVMANAGER_CLIENT_ID }}
# azure_client_secret: ${{ secrets.DEVMANAGER_CLIENT_SECRET }}
# azure_tenant_id: ${{ secrets.AZURE_TENANT_ID }}
# container: download
# files: Slauth.tar.gz #'target/universal/release/libslauth_universal.a;target/x86_64-apple-ios/release/libslauth_x86.a;target/aarch64-apple-ios/release/libslauth_arm64.a;target/slauth.h'
# resource_group: cdndevolutions-prod
# storage_account: cdndevolutions
- run: pod spec lint
# - name: Update Podspec
# run: |
# sed -i '' "s|spec.source = { :git => '.*', :tag => s.version.to_s }|spec.source = { :http => 'URL_to_Slauth-${{ github.ref_name }}.tar.gz' }|g" Slauth.podspec
# build-rust:
# environment: crates-publish
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repo
# uses: actions/checkout@v4
# - run: cargo package
# - name: Find package version
# id: package
# run: echo name=$(ls *.crate) > $GITHUB_OUTPUT
# working-directory: target/package
# - name: Upload Artifact
# uses: actions/upload-artifact@v4
# with:
# name: rust
# path: target/package/${{ steps.package.outputs.name }}
# - name: Publish
# run: cargo publish
# env:
# CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}