mirror of
https://github.com/Llewellynvdm/zoxide.git
synced 2024-11-22 04:45:20 +00:00
Speed up CI
This commit is contained in:
parent
bf54e7f0cd
commit
3620189582
19
.github/workflows/ci.yml
vendored
19
.github/workflows/ci.yml
vendored
@ -4,6 +4,11 @@ on:
|
|||||||
branches: [main]
|
branches: [main]
|
||||||
pull_request:
|
pull_request:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||||
|
CARGO_INCREMENTAL: 0
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ci:
|
ci:
|
||||||
name: ${{ matrix.os }}
|
name: ${{ matrix.os }}
|
||||||
@ -24,10 +29,20 @@ jobs:
|
|||||||
components: rustfmt, clippy
|
components: rustfmt, clippy
|
||||||
profile: minimal
|
profile: minimal
|
||||||
override: true
|
override: true
|
||||||
- uses: cachix/install-nix-action@v15
|
- uses: cachix/install-nix-action@v16
|
||||||
if: ${{ matrix.os != 'windows-latest' }}
|
if: ${{ matrix.os != 'windows-latest' }}
|
||||||
with:
|
with:
|
||||||
nix_path: nixpkgs=channel:nixpkgs-unstable
|
nix_path: nixpkgs=channel:nixos-unstable
|
||||||
|
- uses: cachix/cachix-action@v10
|
||||||
|
if: ${{ matrix.os != 'windows-latest' && env.CACHIX_AUTH_TOKEN != '' }}
|
||||||
|
with:
|
||||||
|
authToken: ${{ env.CACHIX_AUTH_TOKEN }}
|
||||||
|
name: zoxide
|
||||||
|
|
||||||
|
- name: Setup cache
|
||||||
|
uses: Swatinem/rust-cache@v1
|
||||||
|
if:
|
||||||
|
${{ matrix.os == 'windows-latest' }}
|
||||||
|
|
||||||
- run: cargo xtask ci
|
- run: cargo xtask ci
|
||||||
if: ${{ matrix.os == 'windows-latest' }}
|
if: ${{ matrix.os == 'windows-latest' }}
|
||||||
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@ -6,6 +6,9 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_INCREMENTAL: 0
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
name: ${{ matrix.target }}
|
name: ${{ matrix.target }}
|
||||||
@ -58,6 +61,9 @@ jobs:
|
|||||||
override: true
|
override: true
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Setup cache
|
||||||
|
uses: Swatinem/rust-cache@v1
|
||||||
|
|
||||||
- name: Build binary
|
- name: Build binary
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
|
@ -29,7 +29,10 @@ ordered-float = "2.0.0"
|
|||||||
serde = { version = "1.0.116", features = ["derive"] }
|
serde = { version = "1.0.116", features = ["derive"] }
|
||||||
|
|
||||||
[target.'cfg(unix)'.dependencies]
|
[target.'cfg(unix)'.dependencies]
|
||||||
nix = { version = "0.24.1", default-features = false, features = ["fs", "user"] }
|
nix = { version = "0.24.1", default-features = false, features = [
|
||||||
|
"fs",
|
||||||
|
"user",
|
||||||
|
] }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
clap = { version = "3.1.0", features = ["derive"] }
|
clap = { version = "3.1.0", features = ["derive"] }
|
||||||
@ -46,7 +49,11 @@ tempfile = "3.1.0"
|
|||||||
default = []
|
default = []
|
||||||
nix-dev = []
|
nix-dev = []
|
||||||
|
|
||||||
|
[profile.dev]
|
||||||
|
debug = 0
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
|
debug = 0
|
||||||
lto = true
|
lto = true
|
||||||
strip = true
|
strip = true
|
||||||
|
2
Cross.toml
Normal file
2
Cross.toml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[build.env]
|
||||||
|
passthrough = ["CARGO_INCREMENTAL"]
|
@ -38,5 +38,6 @@ in pkgs.mkShell {
|
|||||||
pkgs.libiconv
|
pkgs.libiconv
|
||||||
];
|
];
|
||||||
|
|
||||||
RUST_BACKTRACE = 1;
|
CARGO_INCREMENTAL = builtins.getEnv "CI" != "";
|
||||||
|
CARGO_TARGET_DIR = "target_nix";
|
||||||
}
|
}
|
||||||
|
@ -54,8 +54,13 @@ impl CommandExt for &mut Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run_ci(nix_enabled: bool) -> Result<()> {
|
fn run_ci(nix_enabled: bool) -> Result<()> {
|
||||||
|
// Run cargo-clippy.
|
||||||
let color: &[&str] = if is_ci() { &["--color=always"] } else { &[] };
|
let color: &[&str] = if is_ci() { &["--color=always"] } else { &[] };
|
||||||
Command::new("cargo").args(&["check", "--all-features"]).args(color)._run()?;
|
Command::new("cargo")
|
||||||
|
.args(&["clippy", "--all-features", "--all-targets"])
|
||||||
|
.args(color)
|
||||||
|
.args(&["--", "-Dwarnings"])
|
||||||
|
._run()?;
|
||||||
|
|
||||||
run_fmt(nix_enabled, true)?;
|
run_fmt(nix_enabled, true)?;
|
||||||
run_lint(nix_enabled)?;
|
run_lint(nix_enabled)?;
|
||||||
@ -84,14 +89,6 @@ fn run_fmt(nix_enabled: bool, check: bool) -> Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run_lint(nix_enabled: bool) -> Result<()> {
|
fn run_lint(nix_enabled: bool) -> Result<()> {
|
||||||
// Run cargo-clippy.
|
|
||||||
let color: &[&str] = if is_ci() { &["--color=always"] } else { &[] };
|
|
||||||
Command::new("cargo")
|
|
||||||
.args(&["clippy", "--all-features", "--all-targets"])
|
|
||||||
.args(color)
|
|
||||||
.args(&["--", "-Dwarnings"])
|
|
||||||
._run()?;
|
|
||||||
|
|
||||||
if nix_enabled {
|
if nix_enabled {
|
||||||
// Run cargo-audit.
|
// Run cargo-audit.
|
||||||
let color: &[&str] = if is_ci() { &["--color=always"] } else { &[] };
|
let color: &[&str] = if is_ci() { &["--color=always"] } else { &[] };
|
||||||
@ -136,7 +133,6 @@ fn enable_nix() -> bool {
|
|||||||
}
|
}
|
||||||
let nix_enabled = env::var_os("IN_NIX_SHELL").unwrap_or_default() == "pure";
|
let nix_enabled = env::var_os("IN_NIX_SHELL").unwrap_or_default() == "pure";
|
||||||
if nix_enabled {
|
if nix_enabled {
|
||||||
env::set_var("CARGO_TARGET_DIR", "target_nix");
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
let nix_detected = Command::new("nix-shell").arg("--version").status().map(|s| s.success()).unwrap_or(false);
|
let nix_detected = Command::new("nix-shell").arg("--version").status().map(|s| s.success()).unwrap_or(false);
|
||||||
|
Loading…
Reference in New Issue
Block a user