Skip to content

Commit 4d16b29

Browse files
committed
Update release process
This change contains a major rewrite of the release process to generate fewer overall releases, while adding support for additional targets. The most significant change is releasing fully static binaries for Linux targets, meaning there is no longer a need to make multiple binaries to support different versions of glibc. macOS now has a universal binary that will work on Apple silicon as well as x86_64 systems. On Windows a new target of x86_64 GNU is now being published. The other noteworthy change is the creation of archives for each release, where each archive includes the README, license and other related files, along with the binary. On a project development point of view, the latest release and full release now shares a pipeline. This ensures that the release pipeline is being regularly actioned, as well as providing latest releases against all supported targets.
1 parent 63d8300 commit 4d16b29

10 files changed

+349
-517
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env bash
2+
3+
# Build archive directory, copy contents and create archive
4+
5+
set -e
6+
set -u
7+
set -o pipefail
8+
9+
mkdir -p "$ARCHIVE"
10+
cp "$BIN" "$ARCHIVE"/
11+
cp {CHANGELOG.md,README.md,COPYING} "$ARCHIVE"/
12+
cp -r ./readme/ "$ARCHIVE/readme"
13+
14+
7z a "$ARCHIVE.zip" "$ARCHIVE"
15+
echo "ASSET=$ARCHIVE.zip" >> "$GITHUB_ENV"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env bash
2+
3+
# Build archive directory, copy contents and create archive
4+
5+
set -e
6+
set -u
7+
set -o pipefail
8+
9+
mkdir -p "$ARCHIVE"
10+
cp "$BIN" "$ARCHIVE"/
11+
cp {CHANGELOG.md,README.md,COPYING,src/interactive-rebase-tool.1} "$ARCHIVE"/
12+
cp -r readme/ "$ARCHIVE"
13+
14+
tar czf "$ARCHIVE.tar.gz" "$ARCHIVE"
15+
echo "ASSET=$ARCHIVE.tar.gz" >> "$GITHUB_ENV"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env bash
2+
3+
# Build archive directory, copy contents and create archive
4+
5+
set -e
6+
set -u
7+
set -o pipefail
8+
9+
mkdir -p "$ARCHIVE"
10+
cp "$BIN.exe" "$ARCHIVE"/
11+
cp {CHANGELOG.md,README.md,COPYING} "$ARCHIVE"/
12+
cp -r readme/ "$ARCHIVE"
13+
14+
7z a "$ARCHIVE.zip" "$ARCHIVE"
15+
echo "ASSET=$ARCHIVE.zip" >> "$GITHUB_ENV"

.github/scripts/cross-install.bash

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
3+
# Install Cross using the pre-compiled binaries to speed up release/build time
4+
5+
set -e
6+
set -u
7+
set -o pipefail
8+
9+
10+
CROSS_VERSION="v0.2.5"
11+
12+
cross_download_dir="$RUNNER_TEMP/cross-download"
13+
mkdir "$cross_download_dir"
14+
echo "$cross_download_dir" >> "$GITHUB_PATH"
15+
cd "$cross_download_dir"
16+
curl -LO "https://github.com/cross-rs/cross/releases/download/$CROSS_VERSION/cross-x86_64-unknown-linux-musl.tar.gz"
17+
tar xf "cross-x86_64-unknown-linux-musl.tar.gz"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
set -u
5+
set -o pipefail

.github/scripts/update-tag.bash

Lines changed: 0 additions & 22 deletions
This file was deleted.

.github/workflows/release-latest.yml

Lines changed: 0 additions & 217 deletions
This file was deleted.

0 commit comments

Comments
 (0)