From e3552a483d46101e2a39a6359c380a3b715441cc Mon Sep 17 00:00:00 2001 From: Stephan Boyer Date: Fri, 2 Jun 2023 09:01:49 -0400 Subject: [PATCH] Add support for AArch64 musl Linux --- .github/workflows/ci.yml | 15 +++++++++++++++ CHANGELOG.md | 5 +++++ Cargo.lock | 2 +- Cargo.toml | 2 +- toast.yml | 6 ++++++ 5 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index deac1db..5b7f8d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,17 @@ jobs: name: aarch64-unknown-linux-gnu path: artifacts/tagref if-no-files-found: error + - run: | + # Make Bash not silently ignore errors. + set -euo pipefail + + # The artifact name will contain the target triple, so the file name doesn't need to. + mv artifacts/tagref-aarch64-unknown-linux-musl artifacts/tagref + - uses: actions/upload-artifact@v2 + with: + name: aarch64-unknown-linux-musl + path: artifacts/tagref + if-no-files-found: error ci-windows: name: Build for Windows runs-on: windows-latest @@ -176,6 +187,9 @@ jobs: mv \ artifacts/aarch64-unknown-linux-gnu/tagref \ artifacts/tagref-aarch64-unknown-linux-gnu + mv \ + artifacts/aarch64-unknown-linux-musl/tagref \ + artifacts/tagref-aarch64-unknown-linux-musl mv \ artifacts/x86_64-apple-darwin/tagref \ artifacts/tagref-x86_64-apple-darwin @@ -193,6 +207,7 @@ jobs: --attach 'artifacts/tagref-x86_64-unknown-linux-gnu' \ --attach 'artifacts/tagref-x86_64-unknown-linux-musl' \ --attach 'artifacts/tagref-aarch64-unknown-linux-gnu' \ + --attach 'artifacts/tagref-aarch64-unknown-linux-musl' \ --attach 'artifacts/tagref-x86_64-apple-darwin' \ --attach 'artifacts/tagref-aarch64-apple-darwin' \ --attach 'artifacts/tagref-x86_64-pc-windows-msvc.exe' \ diff --git a/CHANGELOG.md b/CHANGELOG.md index ac2e92d..aedb2a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.8.3] - 2023-06-02 + +### Added +- Tagref supports a new platform: AArch64 musl Linux. + ## [1.8.2] - 2023-05-22 ### Added diff --git a/Cargo.lock b/Cargo.lock index 5d093f4..63b8eba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -209,7 +209,7 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "tagref" -version = "1.8.2" +version = "1.8.3" dependencies = [ "atty", "clap", diff --git a/Cargo.toml b/Cargo.toml index ab4e348..2b3e0d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tagref" -version = "1.8.2" +version = "1.8.3" authors = ["Stephan Boyer "] edition = "2021" description = "Tagref helps you maintain cross-references in your code." diff --git a/toast.yml b/toast.yml index ee273b8..09f9656 100644 --- a/toast.yml +++ b/toast.yml @@ -204,16 +204,19 @@ tasks: rustup target add x86_64-unknown-linux-gnu rustup target add x86_64-unknown-linux-musl rustup target add aarch64-unknown-linux-gnu + rustup target add aarch64-unknown-linux-musl # Set the linkers. export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc export CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-linux-gnu-gcc export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc + export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc # Build the project with Cargo for each Linux target. cargo-online build --release --target x86_64-unknown-linux-gnu cargo-online build --release --target x86_64-unknown-linux-musl cargo-online build --release --target aarch64-unknown-linux-gnu + cargo-online build --release --target aarch64-unknown-linux-musl # Move the binaries to a more conveniennt location for exporting. mkdir artifacts @@ -226,6 +229,9 @@ tasks: cp \ target/aarch64-unknown-linux-gnu/release/tagref \ artifacts/tagref-aarch64-unknown-linux-gnu + cp \ + target/aarch64-unknown-linux-musl/release/tagref \ + artifacts/tagref-aarch64-unknown-linux-musl publish: description: Publish the crate to crates.io.