Simplify actions

This commit is contained in:
sxyazi 2023-10-21 12:01:49 +08:00
parent 1e3835a2fb
commit 04ad67e427
No known key found for this signature in database
5 changed files with 28 additions and 44 deletions

View file

@ -21,14 +21,7 @@ jobs:
target: aarch64-apple-darwin target: aarch64-apple-darwin
steps: steps:
- name: Checkout - uses: actions/checkout@v3
uses: actions/checkout@v3
- name: Bootstrap
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
- name: Cache Dependencies - name: Cache Dependencies
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
@ -36,25 +29,14 @@ jobs:
- name: Build - name: Build
run: cargo build --release --locked --target ${{ matrix.target }} run: cargo build --release --locked --target ${{ matrix.target }}
- name: Pack Artifacts [Linux] - name: Pack Artifacts [Linux & macOS]
if: matrix.os == 'ubuntu-latest' if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
env:
RELEASE_NAME: yazi-${{ matrix.target }}
run: |
mkdir $RELEASE_NAME
cp target/${{ matrix.target }}/release/yazi -t $RELEASE_NAME
cp -r config/completions -t $RELEASE_NAME
cp README.md LICENSE -t $RELEASE_NAME
zip -r $RELEASE_NAME.zip $RELEASE_NAME
- name: Pack Artifacts [macOS]
if: matrix.os == 'macos-latest'
env: env:
RELEASE_NAME: yazi-${{ matrix.target }} RELEASE_NAME: yazi-${{ matrix.target }}
run: | run: |
mkdir $RELEASE_NAME mkdir $RELEASE_NAME
cp target/${{ matrix.target }}/release/yazi $RELEASE_NAME cp target/${{ matrix.target }}/release/yazi $RELEASE_NAME
cp -R config/completions $RELEASE_NAME cp -r config/completions $RELEASE_NAME
cp README.md LICENSE $RELEASE_NAME cp README.md LICENSE $RELEASE_NAME
zip -r $RELEASE_NAME.zip $RELEASE_NAME zip -r $RELEASE_NAME.zip $RELEASE_NAME

View file

@ -1,4 +1,4 @@
name: Rust name: Test
on: on:
push: push:
@ -19,7 +19,12 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
- name: Build - name: Build
run: cargo build --verbose run: cargo build --verbose
- name: Run tests - name: Run tests
run: cargo test --verbose run: cargo test --verbose

2
.gitignore vendored
View file

@ -1,6 +1,8 @@
target/ target/
config/completions
.DS_Store .DS_Store
result result
result-* result-*
.devenv* .devenv*

View file

@ -4,26 +4,21 @@ mod cli;
use std::{fs, io}; use std::{fs, io};
use clap::CommandFactory; use clap::CommandFactory;
use clap_complete::{generate_to, Shell::*}; use clap_complete::{generate_to, Shell};
use clap_complete_fig::Fig;
use clap_complete_nushell::Nushell;
use self::cli::Args;
fn main() -> io::Result<()> { fn main() -> io::Result<()> {
let cmd = &mut Args::command(); let cmd = &mut cli::Args::command();
let name = "yazi"; let bin = "yazi";
let dir = "completions"; let out = "completions";
fs::create_dir_all(dir)?; fs::create_dir_all(out)?;
generate_to(Shell::Bash, cmd, bin, out)?;
generate_to(Bash, cmd, name, dir)?; generate_to(Shell::Fish, cmd, bin, out)?;
generate_to(Fish, cmd, name, dir)?; generate_to(Shell::Zsh, cmd, bin, out)?;
generate_to(Zsh, cmd, name, dir)?; generate_to(Shell::Elvish, cmd, bin, out)?;
generate_to(Elvish, cmd, name, dir)?; generate_to(Shell::PowerShell, cmd, bin, out)?;
generate_to(PowerShell, cmd, name, dir)?; generate_to(clap_complete_nushell::Nushell, cmd, bin, out)?;
generate_to(Nushell, cmd, name, dir)?; generate_to(clap_complete_fig::Fig, cmd, bin, out)?;
generate_to(Fig, cmd, name, dir)?;
Ok(()) Ok(())
} }