Add release workflow

This commit is contained in:
Ajeet D'Souza 2022-06-25 23:24:03 +05:30
parent a6ac6d4ac6
commit 1ad67e8db9
3 changed files with 23 additions and 3 deletions

View File

@ -1,2 +1,7 @@
[alias] [alias]
xtask = "run --package xtask --" xtask = "run --package xtask --"
# On Windows MSVC, statically link the C runtime so that the resulting EXE does
# not depend on the vcruntime DLL.
[target.'cfg(all(windows, target_env = "msvc"))']
rustflags = ["-C", "target-feature=+crt-static"]

View File

@ -21,12 +21,14 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
target: x86_64-unknown-linux-musl target: x86_64-unknown-linux-musl
deb: true
- os: ubuntu-latest - os: ubuntu-latest
target: arm-unknown-linux-musleabihf target: arm-unknown-linux-musleabihf
- os: ubuntu-latest - os: ubuntu-latest
target: armv7-unknown-linux-musleabihf target: armv7-unknown-linux-musleabihf
- os: ubuntu-latest - os: ubuntu-latest
target: aarch64-unknown-linux-musl target: aarch64-unknown-linux-musl
deb: true
- os: macos-11 - os: macos-11
target: x86_64-apple-darwin target: x86_64-apple-darwin
@ -61,6 +63,13 @@ jobs:
override: true override: true
target: ${{ matrix.target }} target: ${{ matrix.target }}
- name: Install cargo-deb
if: ${{ matrix.deb == true }}
uses: actions-rs/install@v0.1
with:
crate: cargo-deb
version: latest
- name: Setup cache - name: Setup cache
uses: Swatinem/rust-cache@v1 uses: Swatinem/rust-cache@v1
@ -71,6 +80,13 @@ jobs:
args: --release --locked --target=${{ matrix.target }} --color=always --verbose args: --release --locked --target=${{ matrix.target }} --color=always --verbose
use-cross: ${{ runner.os == 'Linux' }} use-cross: ${{ runner.os == 'Linux' }}
- name: Build deb
if: ${{ matrix.deb == true }}
uses: actions-rs/cargo@v1
with:
command: deb
args: --no-build --target=${{ matrix.target }}
- name: Package (*nix) - name: Package (*nix)
if: runner.os != 'Windows' if: runner.os != 'Windows'
run: > run: >

View File

@ -6,7 +6,6 @@ edition = "2021"
homepage = "https://github.com/ajeetdsouza/zoxide" homepage = "https://github.com/ajeetdsouza/zoxide"
keywords = ["cli"] keywords = ["cli"]
license = "MIT" license = "MIT"
license-file = "LICENSE"
name = "zoxide" name = "zoxide"
readme = "README.md" readme = "README.md"
repository = "https://github.com/ajeetdsouza/zoxide" repository = "https://github.com/ajeetdsouza/zoxide"
@ -65,8 +64,6 @@ lto = true
strip = true strip = true
[package.metadata.deb] [package.metadata.deb]
section = "admin"
priority = "optional"
assets = [ assets = [
[ [
"target/release/zoxide", "target/release/zoxide",
@ -113,3 +110,5 @@ extended-description = """\
zoxide is a smarter cd command, inspired by z and autojump. It remembers which \ zoxide is a smarter cd command, inspired by z and autojump. It remembers which \
directories you use most frequently, so you can "jump" to them in just a few \ directories you use most frequently, so you can "jump" to them in just a few \
keystrokes.""" keystrokes."""
priority = "optional"
section = "admin"