diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c066bdd..48b969ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,14 +21,7 @@ jobs: target: aarch64-apple-darwin steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Bootstrap - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - target: ${{ matrix.target }} + - uses: actions/checkout@v3 - name: Cache Dependencies uses: Swatinem/rust-cache@v2 @@ -36,25 +29,14 @@ jobs: - name: Build run: cargo build --release --locked --target ${{ matrix.target }} - - name: Pack Artifacts [Linux] - if: matrix.os == 'ubuntu-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' + - name: Pack Artifacts [Linux & macOS] + 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 $RELEASE_NAME - cp -R config/completions $RELEASE_NAME + cp -r config/completions $RELEASE_NAME cp README.md LICENSE $RELEASE_NAME zip -r $RELEASE_NAME.zip $RELEASE_NAME diff --git a/.github/workflows/rust.yml b/.github/workflows/test.yml similarity index 83% rename from .github/workflows/rust.yml rename to .github/workflows/test.yml index 617841b2..5ab1ad3a 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Rust +name: Test on: push: @@ -19,7 +19,12 @@ jobs: steps: - uses: actions/checkout@v3 + + - name: Cache Dependencies + uses: Swatinem/rust-cache@v2 + - name: Build run: cargo build --verbose + - name: Run tests run: cargo test --verbose diff --git a/.gitignore b/.gitignore index fe33324c..9df5bdcf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ target/ +config/completions .DS_Store + result result-* .devenv* diff --git a/config/Cargo.toml b/config/Cargo.toml index 725f16a4..526db4d5 100644 --- a/config/Cargo.toml +++ b/config/Cargo.toml @@ -22,7 +22,7 @@ toml = { version = "^0", features = [ "preserve_order" ] } validator = { version = "^0", features = [ "derive" ] } [build-dependencies] -clap = { version = "^4", features = [ "derive" ] } -clap_complete = "^4" -clap_complete_nushell = "^4" -clap_complete_fig = "^4" +clap = { version = "^4", features = [ "derive" ] } +clap_complete = "^4" +clap_complete_nushell = "^4" +clap_complete_fig = "^4" diff --git a/config/build.rs b/config/build.rs index 340c88a5..d34bdbbb 100644 --- a/config/build.rs +++ b/config/build.rs @@ -4,26 +4,21 @@ mod cli; use std::{fs, io}; use clap::CommandFactory; -use clap_complete::{generate_to, Shell::*}; -use clap_complete_fig::Fig; -use clap_complete_nushell::Nushell; - -use self::cli::Args; +use clap_complete::{generate_to, Shell}; fn main() -> io::Result<()> { - let cmd = &mut Args::command(); - let name = "yazi"; - let dir = "completions"; + let cmd = &mut cli::Args::command(); + let bin = "yazi"; + let out = "completions"; - fs::create_dir_all(dir)?; - - generate_to(Bash, cmd, name, dir)?; - generate_to(Fish, cmd, name, dir)?; - generate_to(Zsh, cmd, name, dir)?; - generate_to(Elvish, cmd, name, dir)?; - generate_to(PowerShell, cmd, name, dir)?; - generate_to(Nushell, cmd, name, dir)?; - generate_to(Fig, cmd, name, dir)?; + fs::create_dir_all(out)?; + generate_to(Shell::Bash, cmd, bin, out)?; + generate_to(Shell::Fish, cmd, bin, out)?; + generate_to(Shell::Zsh, cmd, bin, out)?; + generate_to(Shell::Elvish, cmd, bin, out)?; + generate_to(Shell::PowerShell, cmd, bin, out)?; + generate_to(clap_complete_nushell::Nushell, cmd, bin, out)?; + generate_to(clap_complete_fig::Fig, cmd, bin, out)?; Ok(()) }