Merge pull request #101 from lj3954/build_aarch64

feat: Build aarch64 binaries
This commit is contained in:
Chris Titus 2024-07-30 20:32:00 -05:00 committed by GitHub
commit 938ce3f7c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 44 additions and 5 deletions

View File

@ -33,10 +33,14 @@ jobs:
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-musl
- name: Build
- name: Install cross-rs for cross-compilation
run: cargo install cross
- name: Build x86_64 binary
run: cargo build --target-dir=build --release --verbose --target=x86_64-unknown-linux-musl
- name: Build aarch64 binary
run: cross build --target-dir=build --release --verbose --target=aarch64-unknown-linux-musl
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Commit Linutil
file_pattern: "build/x86_64-unknown-linux-musl/release/linutil"
file_pattern: "build/x86_64-unknown-linux-musl/release/linutil build/aarch64-unknown-linux-musl/release/linutil"
if: success()

View File

@ -21,6 +21,9 @@ jobs:
echo "version=$version" >> $GITHUB_ENV
shell: bash
- name: Rename aarch64 binary for release
run: mv ./build/aarch64-unknown-linux-musl/release/linutil ./build/aarch64-unknown-linux-musl/release/linutil-aarch64
- name: Create and Upload Release
id: create_release
uses: softprops/action-gh-release@v2
@ -31,6 +34,7 @@ jobs:
append_body: false
files: |
./build/x86_64-unknown-linux-musl/release/linutil
./build/aarch64-unknown-linux-musl/release/linutil-aarch64
prerelease: true
generate_release_notes: true
env:

View File

@ -3,8 +3,6 @@
rc='\033[0m'
red='\033[0;31m'
binary_url="https://github.com/ChrisTitusTech/linutil/releases/latest/download/linutil"
check() {
exit_code=$1
message=$2
@ -18,10 +16,26 @@ check() {
unset message
}
findArch() {
case "$(uname -m)" in
x86_64|amd64) arch="x86_64" ;;
aarch64|arm64) arch="aarch64" ;;
*) check 1 "Unsupported architecture"
esac
}
getUrl() {
case "${arch}" in
x86_64) echo "https://github.com/ChrisTitusTech/linutil/releases/latest/download/linutil";;
*) echo "https://github.com/ChrisTitusTech/linutil/releases/latest/download/linutil-${arch}";;
esac
}
findArch
temp_file=$(mktemp)
check $? "Creating the temporary file"
curl -fsL "$binary_url" -o "$temp_file"
curl -fsL "$(getUrl)" -o "$temp_file"
check $? "Downloading linutil"
chmod +x "$temp_file"

View File

@ -24,6 +24,7 @@ redirect_to_latest_pre_release() {
echo "Using latest Full Release"
url="https://github.com/ChrisTitusTech/linutil/releases/latest/download/linutil"
fi
addArch
echo "Using URL: $url" # Log the URL being used
}
@ -37,6 +38,22 @@ check() {
fi
}
addArch() {
case "${arch}" in
x86_64);;
*) url="${url}-${arch}";;
esac
}
findArch() {
case "$(uname -m)" in
x86_64|amd64) arch="x86_64" ;;
aarch64|arm64) arch="aarch64" ;;
*) check 1 "Unsupported architecture"
esac
}
findArch
redirect_to_latest_pre_release
TMPFILE=$(mktemp)