Skip to content

chore: update time to 0.3.47 (RUSTSEC-2026-0009) #2186

chore: update time to 0.3.47 (RUSTSEC-2026-0009)

chore: update time to 0.3.47 (RUSTSEC-2026-0009) #2186

Workflow file for this run

name: 🚀 pipeline
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
on:
push:
branches:
- main
tags:
- "v*"
pull_request:
env:
CARGO_TERM_COLOR: always
CARGO_NET_GIT_FETCH_WITH_CLI: true
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
RELEASE: 1
jobs:
#################
# Shared between JVM Linux and Android
uniffi-bindgen-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/uniffi-bindgen
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
ffi-library-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/ffi-library
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
#################
# Android
build-android:
uses: ./.github/workflows/build-android.yml
bindings-android:
runs-on: ubuntu-latest
needs:
- uniffi-bindgen-linux
- ffi-library-linux
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/android/bindings
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
package-android:
needs:
- bindings-android
- build-android
uses: ./.github/workflows/package-android.yml
test-android:
needs:
- bindings-android
- build-android
uses: ./.github/workflows/test-android.yml
#################
# JVM Darwin
build-jvm-darwin:
if: github.repository == 'wireapp/core-crypto'
runs-on: self-hosted
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/jvm
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
#################
# JVM Linux
build-jvm-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/jvm
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
bindings-jvm:
needs:
- uniffi-bindgen-linux
- ffi-library-linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/bindings-kotlin-jvm
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
test-jvm:
needs:
- bindings-jvm
- build-jvm-linux
- build-jvm-darwin
uses: ./.github/workflows/test-jvm.yml
docs-jvm:
needs:
- bindings-jvm
- build-jvm-linux
uses: ./.github/workflows/docs-jvm.yml
#################
# iOS/Swift
build-ios:
uses: ./.github/workflows/build-ios.yml
bindings-swift:
if: github.repository == 'wireapp/core-crypto'
runs-on: self-hosted
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/make/bindings-swift
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
package-ios:
needs:
- build-ios
- bindings-swift
uses: ./.github/workflows/package-ios.yml
test-ios:
needs:
- build-ios
- bindings-swift
uses: ./.github/workflows/test-ios.yml
docs-swift:
needs:
- build-ios
- bindings-swift
uses: ./.github/workflows/docs-swift.yml
#################
# Web
bindings-ts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: build ts
uses: ./.github/actions/make/web/ts
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
test-ts:
needs: bindings-ts
uses: ./.github/workflows/test-ts.yml
docs-ts:
needs: bindings-ts
uses: ./.github/workflows/docs-ts.yml
#################
# Rust
docs-rust:
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: "-D warnings"
steps:
- name: checkout repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-and-cache-rust
- run: cargo doc --all --no-deps --locked
- uses: actions/upload-artifact@v6.0.0
with:
name: rust
path: target/doc
retention-days: 1
overwrite: true
include-hidden-files: true
if-no-files-found: error
#################
# Cross-platform jobs
build-interop:
if: github.repository == 'wireapp/core-crypto'
runs-on: macos-latest
steps:
# Needed for parity between github and self-hosted runner
- run: brew install make
- uses: actions/checkout@v6
- uses: ./.github/actions/make/interop/build
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
e2e-interop-test:
needs:
- build-ios
- bindings-swift
- bindings-ts
- package-android
- build-interop
uses: ./.github/workflows/interop.yml
deploy-docs:
needs:
- docs-rust
- docs-ts
- docs-jvm
- docs-swift
uses: ./.github/workflows/deploy-docs.yml
#################
# Publish
prepare-publish:
needs:
- package-ios
- package-android
- bindings-ts
- build-jvm-linux
- build-jvm-darwin
- bindings-jvm
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
steps:
- uses: actions/checkout@v6
- name: force-fetch the tag to work around actions/checkout#290
run: git fetch -f origin ${{ github.ref }}:${{ github.ref }}
- name: ensure the tag is signed
run: git cat-file tag ${{ github.ref_name }} | grep -q -- '-----BEGIN PGP SIGNATURE-----'
publish-jvm:
needs: prepare-publish
uses: ./.github/workflows/publish-jvm.yml
secrets:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
PGP_KEY_ID: ${{ secrets.PGP_KEY_ID }}
PGP_SIGNING_KEY: ${{ secrets.PGP_SIGNING_KEY }}
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
publish-android:
needs: prepare-publish
uses: ./.github/workflows/publish-android.yml
secrets:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
PGP_KEY_ID: ${{ secrets.PGP_KEY_ID }}
PGP_SIGNING_KEY: ${{ secrets.PGP_SIGNING_KEY }}
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
publish-ios:
needs: prepare-publish
uses: ./.github/workflows/publish-swift.yml
publish-web:
needs: prepare-publish
uses: ./.github/workflows/publish-wasm.yml
permissions:
id-token: write