mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-12-23 08:47:50 +00:00
77 lines
3.5 KiB
YAML
77 lines
3.5 KiB
YAML
name: tinymist::crates::publish
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
RUSTFLAGS: '-Dwarnings'
|
|
|
|
jobs:
|
|
|
|
publish-crates:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-20.04
|
|
rust-target: x86_64-unknown-linux-gnu
|
|
platform: linux
|
|
arch: x64
|
|
regular_build: 'true'
|
|
name: build
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
target: ${{ matrix.platform }}-${{ matrix.arch }}
|
|
isRelease: ${{ (startsWith(github.ref, 'refs/tags/') && (!contains(github.ref, 'rc') && (endsWith(github.ref, '0') || endsWith(github.ref, '2') || endsWith(github.ref, '4') || endsWith(github.ref, '6') || endsWith(github.ref, '8')))) }}
|
|
isNightly: ${{ ((startsWith(github.ref, 'refs/tags/') && !((!contains(github.ref, 'rc') && (endsWith(github.ref, '0') || endsWith(github.ref, '2') || endsWith(github.ref, '4') || endsWith(github.ref, '6') || endsWith(github.ref, '8'))))) || (!startsWith(github.ref, 'refs/tags/') && matrix.regular_build == 'true')) }}
|
|
isTest: ${{ matrix.rust-target == 'x86_64-unknown-linux-gnu' || matrix.rust-target == 'x86_64-pc-windows-msvc' }}
|
|
isUniversal: ${{ matrix.rust-target == 'x86_64-unknown-linux-gnu' }}
|
|
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
|
|
steps:
|
|
- name: "Print Env"
|
|
run: |
|
|
echo "Running on ${{ matrix.os }}"
|
|
echo "Target: ${{ env.target }}"
|
|
echo "Is Release: ${{ fromJson(env.isRelease) }}"
|
|
echo "Is Nightly: ${{ fromJson(env.isNightly) }}"
|
|
echo "Is Test: ${{ fromJson(env.isTest) }}"
|
|
echo "Is Universal (No Server): ${{ fromJson(env.isUniversal) }}"
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
if: (fromJson(env.isRelease) || fromJson(env.isNightly))
|
|
- name: rust toolchain
|
|
uses: dtolnay/rust-toolchain@1.84.0
|
|
with:
|
|
targets: ${{ matrix.rust-target }}
|
|
if: (fromJson(env.isRelease) || fromJson(env.isNightly))
|
|
- name: Install llvm
|
|
if: matrix.platform == 'linux' && (fromJson(env.isRelease) || fromJson(env.isNightly))
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install llvm
|
|
# - name: Run rust-cache
|
|
# uses: Swatinem/rust-cache@v2
|
|
# if: (fromJson(env.isRelease) || fromJson(env.isNightly))
|
|
- name: Publish crates
|
|
run: |
|
|
cargo publish --no-verify -p typst-shim || true
|
|
cargo publish --no-verify -p tinymist-derive || true
|
|
cargo publish --no-verify -p tinymist-analysis || true
|
|
cargo publish --no-verify -p tinymist-std || true
|
|
cargo publish --no-verify -p tinymist-vfs || true
|
|
cargo publish --no-verify -p tinymist-world || true
|
|
cargo publish --no-verify -p tinymist-task || true
|
|
cargo publish --no-verify -p tinymist-project || true
|
|
cargo publish --no-verify -p typlite || true
|
|
cargo publish --no-verify -p crityp || true
|
|
- name: Verifies crate health (Optional)
|
|
run: |
|
|
cargo publish --dry-run -p typst-shim
|
|
cargo publish --dry-run -p tinymist-derive
|
|
cargo publish --dry-run -p tinymist-analysis
|
|
cargo publish --dry-run -p tinymist-std
|
|
cargo publish --dry-run -p tinymist-vfs
|
|
cargo publish --dry-run -p tinymist-world
|
|
cargo publish --dry-run -p tinymist-task --features no-content-hint
|
|
cargo publish --dry-run -p tinymist-project --features no-content-hint
|
|
cargo publish --dry-run -p typlite
|
|
cargo publish --dry-run -p crityp
|