mirror of
https://github.com/ouch-org/ouch.git
synced 2025-06-06 19:45:29 +00:00
ci: automatically create github releases on tags
This commit is contained in:
parent
c622ee9dac
commit
697979bd99
23
.github/workflows/build-and-test.yml
vendored
23
.github/workflows/build-and-test.yml
vendored
@ -111,3 +111,26 @@ jobs:
|
|||||||
rustup toolchain install nightly --profile minimal -c rustfmt
|
rustup toolchain install nightly --profile minimal -c rustfmt
|
||||||
cargo +stable clippy -- -D warnings
|
cargo +stable clippy -- -D warnings
|
||||||
cargo +nightly fmt -- --check
|
cargo +nightly fmt -- --check
|
||||||
|
|
||||||
|
github-release:
|
||||||
|
name: github-release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: dawidd6/action-download-artifact@v2
|
||||||
|
with:
|
||||||
|
path: artifacts
|
||||||
|
|
||||||
|
- name: Package release assets
|
||||||
|
run: scripts/package-release-assets.sh
|
||||||
|
|
||||||
|
- name: Create release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
draft: true
|
||||||
|
files: release/ouch-*
|
||||||
|
33
.github/workflows/manual-release.yml
vendored
Normal file
33
.github/workflows/manual-release.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
name: manual-release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
run_id:
|
||||||
|
description: Run id of the action run to pull artifacts from
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
github-release:
|
||||||
|
name: github-release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: dawidd6/action-download-artifact@v2
|
||||||
|
with:
|
||||||
|
path: artifacts
|
||||||
|
workflow: build-and-test.yml
|
||||||
|
run_id: ${{ github.event.inputs.run_id }}
|
||||||
|
|
||||||
|
- name: Package release assets
|
||||||
|
run: scripts/package-release-assets.sh
|
||||||
|
|
||||||
|
- name: Create release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
draft: true
|
||||||
|
name: manual release ${{ github.event.inputs.run_id }}
|
||||||
|
files: release/ouch-*
|
@ -1,21 +0,0 @@
|
|||||||
#! /usr/bin/sh
|
|
||||||
#
|
|
||||||
# Small script to help decompressing files from the CI to make manual releases
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
ouch --version
|
|
||||||
|
|
||||||
rm release -r || true
|
|
||||||
|
|
||||||
ouch decompress ouch-x86_64-pc-windows-msvc.exe.zip --dir release
|
|
||||||
mv release/ouch.exe release/ouch-x86_64-pc-windows-msvc.exe
|
|
||||||
|
|
||||||
ouch decompress ouch-x86_64-apple-darwin.zip --dir release
|
|
||||||
mv release/ouch release/ouch-x86_64-apple-darwin
|
|
||||||
|
|
||||||
ouch decompress ouch-x86_64-unknown-linux-musl.zip --dir release
|
|
||||||
mv release/ouch release/ouch-x86_64-linux-musl
|
|
||||||
|
|
||||||
dragon-drag-and-drop release/*
|
|
||||||
|
|
22
scripts/package-release-assets.sh
Executable file
22
scripts/package-release-assets.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
mkdir release
|
||||||
|
cd artifacts
|
||||||
|
|
||||||
|
for dir in ouch-*; do
|
||||||
|
cp -r artifacts "$dir/completions"
|
||||||
|
mkdir "$dir/man"
|
||||||
|
mv "$dir"/completions/*.1 "$dir/man"
|
||||||
|
cp ../{README.md,LICENSE,CHANGELOG.md} "$dir"
|
||||||
|
|
||||||
|
if [[ "$dir" = *.exe ]]; then
|
||||||
|
target=${dir%.exe}
|
||||||
|
mv "$dir" "$target"
|
||||||
|
zip -r "../release/$target.zip" "$target"
|
||||||
|
else
|
||||||
|
chmod +x "$dir/ouch"
|
||||||
|
tar czf "../release/$dir.tar.gz" "$dir"
|
||||||
|
fi
|
||||||
|
done
|
Loading…
x
Reference in New Issue
Block a user