Skip to content

[FIX] Hotfix library version #7

[FIX] Hotfix library version

[FIX] Hotfix library version #7

---
name: Publish Release(s)
permissions:
contents: write
on:
push:
branches:
- main
tags:
- "*"
jobs:
publish_github_release:
name: Binary release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@v2
- uses: goto-bus-stop/setup-zig@v2
- uses: KyleMayes/install-llvm-action@v1
with:
version: "15"
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: nttld/setup-ndk@v1
with:
ndk-version: r25b
- name: Build all library binaries
run: melos run build
- name: Create GitHub release
uses: softprops/action-gh-release@v1
with:
files: platform-build/*
publish_pub_release:
name: Flutter Publish
needs: publish_github_release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@v2
- name: Setup pub.dev credentials
run: |
mkdir -p $HOME/.config/dart
cat << EOF > $HOME/.config/dart/pub-credentials.json
${{ secrets.PUB_CRED_JSON }}
EOF
- name: Dry-run publish to pub.dev
run: melos publish -y --dry-run
- name: Publish to pub.dev
run: melos publish -y --no-dry-run
rust_publish:
name: Rust Publish
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/codde_protocol/native/
steps:
- name: Setup | Checkout
uses: actions/checkout@v2
- name: Setup | Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
- name: Setup | Std
run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: Setup | Default to nightly
run: rustup default nightly
- name: Setup | Default to nightly
run: rustup default nightly
- name: Login
run: cargo login ${{ secrets.CARGO_REGISTRY_TOKEN }}
- name: Build | Publish
run: cargo publish
# PYTHON
linux:
name: Python (linux)
defaults:
run:
working-directory: packages/codde_protocol/native/
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
windows:
name: Python (windows)
defaults:
run:
working-directory: packages/codde_protocol/native/
runs-on: windows-latest
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
macos:
name: Python (macOS)
defaults:
run:
working-directory: packages/codde_protocol/native/
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
sdist:
name: Python (sdist)
defaults:
run:
working-directory: packages/codde_protocol/native/
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
release:
name: Python Release (PyPI)
defaults:
run:
working-directory: packages/codde_protocol/native/
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows, macos, sdist]
environment:
name: pypi
url: https://pypi.org/p/codde_protocol
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --non-interactive --skip-existing *