move adjustments

This commit is contained in:
João Marcos 2025-04-18 02:37:23 -03:00
parent 0d3b398014
commit aa28d7c54a
5 changed files with 50 additions and 27 deletions

View File

@ -136,7 +136,7 @@ jobs:
run: |
${{ env.CARGO }} +stable build --release --target ${{ matrix.target }} $EXTRA_CARGO_FLAGS
env:
OUCH_ARTIFACTS_FOLDER: artifacts
OUCH_ARTIFACTS_FOLDER: man-page-and-completions-artifacts
- name: Upload release artifacts
if: |

View File

@ -34,4 +34,4 @@ jobs:
uses: softprops/action-gh-release@v2
with:
draft: true
files: assets/ouch-*
files: output_assets/ouch-*

View File

@ -70,7 +70,7 @@ regex = "1.10.4"
test-strategy = "0.4.0"
[features]
default = ["use_zlib", "use_zstd_thin", "unrar"]
default = ["unrar", "use_zlib", "use_zstd_thin"]
use_zlib = ["flate2/zlib", "gzp/deflate_zlib", "zip/deflate-zlib"]
use_zstd_thin = ["zstd/thin"]
allow_piped_choice = []

View File

@ -5,18 +5,12 @@
/// Set `OUCH_ARTIFACTS_FOLDER` to the name of the destination folder:
///
/// ```sh
/// OUCH_ARTIFACTS_FOLDER=my-folder cargo build
/// OUCH_ARTIFACTS_FOLDER=man-page-and-completions-artifacts cargo build
/// ```
///
/// All completion files will be generated inside of the folder "my-folder".
/// All completion files will be generated inside of the folder "man-page-and-completions-artifacts".
///
/// If the folder does not exist, it will be created.
///
/// We recommend you naming this folder "artifacts" for the sake of consistency.
///
/// ```sh
/// OUCH_ARTIFACTS_FOLDER=artifacts cargo build
/// ```
use std::{
env,
fs::{create_dir_all, File},

View File

@ -1,28 +1,57 @@
#!/usr/bin/env bash
set -e
mkdir -p output_assets
cd downloaded_artifacts
mkdir ../assets
for input_dir in ouch-*; do
TARGETS=(
"aarch64-pc-windows-msvc"
"aarch64-unknown-linux-gnu"
"aarch64-unknown-linux-musl"
"armv7-unknown-linux-gnueabihf"
"armv7-unknown-linux-musleabihf"
"x86_64-apple-darwin"
"x86_64-pc-windows-gnu"
"x86_64-pc-windows-msvc"
"x86_64-unknown-linux-gnu"
"x86_64-unknown-linux-musl"
)
DEFAULT_FEATURES="unrar+use_zlib+use_zstd_thin"
for target in "${TARGETS[@]}"; do
input_dir="ouch-${target}-${DEFAULT_FEATURES}"
if [ ! -d "$input_dir" ]; then
echo "ERROR: Could not find artifact directory for $target with default features ($input_dir)"
exit 1
fi
echo "Processing $input_dir"
cp ../{README.md,LICENSE,CHANGELOG.md} "$input_dir"
mkdir "$input_dir/man"
mkdir "$input_dir/artifacts"
mkdir -p "$input_dir/man"
mkdir -p "$input_dir/completions"
mv "$input_dir"/artifacts/*.1 "$input_dir/man"
mv "$input_dir"/artifacts/* "$input_dir/completions"
rm -r "$input_dir/artifacts"
mv "$input_dir"/man-page-and-completions-artifacts/*.1 "$input_dir/man"
mv "$input_dir"/man-page-and-completions-artifacts/* "$input_dir/completions"
rm -r "$input_dir/man-page-and-completions-artifacts"
if [[ "$input_dir" = *.exe ]]; then
target=${input_dir%.exe}
mv "$input_dir/target/${target/ouch-/}/release/ouch.exe" "$input_dir"
rm -r "$input_dir/target"
mv "$input_dir" "$target"
zip -r "../assets/$target.zip" "$target"
output_name="ouch-${target}"
if [[ "$target" == *"-windows-"* ]]; then
mv "$input_dir/target/$target/release/ouch.exe" "$input_dir"
rm -rf "$input_dir/target"
zip -r "../output_assets/${output_name}.zip" "$input_dir"
echo "Created output_assets/${output_name}.zip"
else
mv "$input_dir/target/${input_dir/ouch-/}/release/ouch" "$input_dir"
rm -r "$input_dir/target"
mv "$input_dir/target/$target/release/ouch" "$input_dir"
rm -rf "$input_dir/target"
chmod +x "$input_dir/ouch"
tar czf "../assets/$input_dir.tar.gz" "$input_dir"
tar czf "../output_assets/${output_name}.tar.gz" "$input_dir"
echo "Created output_assets/${output_name}.tar.gz"
fi
done
echo "Done."