2023-08-15 18:41:32 +00:00
|
|
|
name: Build CLI for Release
|
|
|
|
|
|
|
|
# Will run automatically on every new release
|
|
|
|
on:
|
|
|
|
release:
|
|
|
|
types: [published]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build-and-upload:
|
|
|
|
permissions:
|
|
|
|
contents: write
|
|
|
|
runs-on: ${{ matrix.platform.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
platform:
|
|
|
|
- {
|
|
|
|
target: x86_64-pc-windows-msvc,
|
|
|
|
os: windows-latest,
|
|
|
|
toolchain: "1.70.0",
|
|
|
|
}
|
|
|
|
- {
|
|
|
|
target: x86_64-apple-darwin,
|
|
|
|
os: macos-latest,
|
|
|
|
toolchain: "1.70.0",
|
|
|
|
}
|
|
|
|
- {
|
|
|
|
target: x86_64-unknown-linux-gnu,
|
|
|
|
os: ubuntu-latest,
|
|
|
|
toolchain: "1.70.0",
|
|
|
|
}
|
|
|
|
steps:
|
2023-09-18 00:40:14 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-08-15 18:41:32 +00:00
|
|
|
- name: Install stable
|
|
|
|
uses: dtolnay/rust-toolchain@master
|
|
|
|
with:
|
|
|
|
toolchain: ${{ matrix.platform.toolchain }}
|
|
|
|
targets: ${{ matrix.platform.target }}
|
|
|
|
|
|
|
|
# Setup the Github Actions Cache for the CLI package
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
workspaces: packages/cli -> ../../target
|
|
|
|
|
|
|
|
# This neat action can build and upload the binary in one go!
|
|
|
|
- name: Build and upload binary
|
|
|
|
uses: taiki-e/upload-rust-binary-action@v1
|
|
|
|
with:
|
|
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
target: ${{ matrix.platform.target }}
|
|
|
|
bin: dx
|
|
|
|
archive: dx-${{ matrix.platform.target }}
|
|
|
|
checksum: sha256
|
|
|
|
manifest_path: packages/cli/Cargo.toml
|