7878 parallel : true
7979 flag-name : ${{ matrix.os }}-unit
8080
81- - uses : actions/upload-artifact@v4
82- with :
83- path : ./target/release/pkgx
84-
8581 coverage-integration :
8682 needs : fmt
8783 strategy :
9591
9692 - uses : dtolnay/rust-toolchain@stable
9793
94+ - uses : taiki-e/install-action@v2
95+ with :
96+ tool : rustfilt
97+
9898 - name : build
9999 run : |
100100 RUSTFLAGS="-C instrument-coverage" cargo build
@@ -111,6 +111,7 @@ jobs:
111111 - run : pkgx +git --json=v1
112112 - run : pkgx +git --json=v2
113113 - run : pkgx git --version
114+ - run : pkgx git@latest --version
114115 - run : pkgx --silent +git
115116 - run : pkgx --quiet +git
116117 - run : pkgx +git -- git --version # lib/utils.rs:find_program
@@ -129,6 +130,9 @@ jobs:
129130 # testing we correctly handle +pkg syntax for pkgs with no env
130131 - run : pkgx +curl.se/ca-certs
131132
133+ - run : ' ! pkgx flubber-flubbles' # cmd not found machinery
134+ - run : ' ! pkgx --sync flubber-flubbles' # cmd not found machinery separate if branch
135+
132136 # create a fork bomb, but since it’s via pkgx we prevent it
133137 - run : |
134138 echo '#!/bin/sh' > foo
@@ -158,23 +162,13 @@ jobs:
158162 pkgx -Q hyperfine
159163 ! test -d ~/.pkgx/crates.io/hyperfine
160164 ! pkgx -Q flubber-flubber
165+ ! pkgx -Qqq flubber-flubber
166+ pkgx -Q
161167
162168 - run : if [ $(find ~/.pkgx -name .tmp\* -type d | wc -l) -gt 0 ]; then
163169 exit 1;
164170 fi
165171
166- - name : generate coverage
167- run : |
168- cargo install rustfilt
169- pkgx +llvm.org -- llvm-profdata merge -sparse default_*.profraw -o default.profdata
170- pkgx +llvm.org -- llvm-cov export \
171- ./target/debug/pkgx \
172- --format=lcov \
173- --ignore-filename-regex="$HOME/.cargo" \
174- --instr-profile=default.profdata \
175- -Xdemangler=rustfilt \
176- > lcov.info
177-
178172 - name : --shebang test 1
179173 run : |
180174 echo "#!/usr/bin/env -S pkgx --shebang echo" > ./stub.sh
@@ -188,6 +182,29 @@ jobs:
188182 run : |
189183 pkgx semverator eq $(pkgx krampus=0.2.0 --version) 0.2.0
190184 pkgx semverator gt $(pkgx krampus@latest --version) 0.2.0
185+ env :
186+ XDG_DATA_HOME : ${{ github.workspace }}/.data
187+
188+ - name : PKGX_PANTRY_DIR
189+ run : |
190+ git clone https://github.com/pkgxdev/pantry
191+ pkgx hyperfine --version
192+ PKGX_PANTRY_DIR=pantry pkgx hyperfine --version
193+ env :
194+ PKGX_PANTRY_DIR : ${{ github.workspace }}/pantry
195+ PKGX_DIR : ${{ github.workspace }}/pkgx
196+ PKGX_DIST_URL : https://dist.pkgx.dev
197+
198+ - name : generate coverage
199+ run : |
200+ pkgx +llvm.org -- llvm-profdata merge -sparse $(find . -name default_\*.prof\*) -o default.profdata
201+ pkgx +llvm.org -- llvm-cov export \
202+ ./target/debug/pkgx \
203+ --format=lcov \
204+ --ignore-filename-regex="$HOME/.cargo" \
205+ --instr-profile=default.profdata \
206+ -Xdemangler=rustfilt \
207+ > lcov.info
191208
192209 - uses : coverallsapp/github-action@v2
193210 with :
0 commit comments