mirror of
https://github.com/meshtastic/protobufs.git
synced 2026-04-20 22:13:55 +00:00
76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
name: Publish to Cargo & JSR
|
|
|
|
on:
|
|
push:
|
|
# tags:
|
|
# - "**"
|
|
|
|
permissions: write-all
|
|
|
|
jobs:
|
|
codegen:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
- name: debug
|
|
run: ls -la . && ls -la packages && ls -la packages/ts && ls -la packages/rust
|
|
- name: Set Package Versions to current tag
|
|
# run: sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/ts/deno.json \
|
|
# && sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/rust/Cargo.toml
|
|
run: sed -i "s/__PACKAGE_VERSION__/2.5.6/g" ./packages/ts/deno.json \
|
|
&& sed -i "s/__PACKAGE_VERSION__/2.5.6/g" ./packages/rust/Cargo.toml
|
|
- name: Setup Buf
|
|
uses: bufbuild/buf-setup-action@main
|
|
with:
|
|
github_token: ${{ github.token }}
|
|
- name: Generate code
|
|
run: buf generate dewars
|
|
- name: Copy license
|
|
run: cp LICENSE packages/ts && cp LICENSE packages/rust
|
|
- name: Upload Rust code
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: rust_code
|
|
path: packages/rust
|
|
- name: Upload TypeScript code
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ts_code
|
|
path: packages/ts
|
|
|
|
publish-jsr:
|
|
runs-on: ubuntu-24.04
|
|
needs: codegen
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
steps:
|
|
- name: Download TypeScript code
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: ts_code
|
|
- name: Set up Deno
|
|
uses: denoland/setup-deno@main
|
|
with:
|
|
deno-version: rc
|
|
- name: Publish to JSR
|
|
run: deno publish --unstable-sloppy-imports
|
|
|
|
publish-cargo:
|
|
runs-on: ubuntu-24.04
|
|
needs: codegen
|
|
steps:
|
|
- name: Download Rust code
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: rust_code
|
|
- name: Set up Rust
|
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
- name: Check Library
|
|
run: cargo check
|
|
- name: Publish to crates.io
|
|
uses: katyo/publish-crates@v2
|
|
with:
|
|
registry-token: ${{ secrets.CARGO_TOKEN }}
|
|
ignore-unpublished-changes: true
|