ci: build binaries for riscv64-linux-musl, loongarch64-linux-{musl,gnu} (#1014)

* dev: patch cargo-dist

* dev: patch cargo-dist 2
This commit is contained in:
Myriad-Dreamin 2024-12-17 15:53:34 +08:00 committed by GitHub
parent 83fe1e7987
commit b1bb3196b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 4 deletions

View file

@ -66,7 +66,7 @@ jobs:
# we specify bash to get pipefail; it guards against the `curl` command # we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0 # failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.26.1/cargo-dist-installer.sh | sh" run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Myriad-Dreamin/cargo-dist/releases/download/v0.26.1-tinymist.6/cargo-dist-installer.sh | sh"
- name: Cache dist - name: Cache dist
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:

View file

@ -4,7 +4,8 @@ members = ["cargo:."]
# Config for 'dist' # Config for 'dist'
[dist] [dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax) # The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.26.1" cargo-dist-version = "0.26.1-tinymist.6"
cargo-dist-url-override = "https://github.com/Myriad-Dreamin/cargo-dist/releases/download/v0.26.1-tinymist.6"
# CI backends to support # CI backends to support
ci = "github" ci = "github"
# The installers to generate for each app # The installers to generate for each app
@ -32,7 +33,7 @@ targets = [
"x86_64-pc-windows-msvc", "x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu", "x86_64-unknown-linux-gnu",
"x86_64-unknown-linux-musl", "x86_64-unknown-linux-musl",
"riscv64gc-unknown-linux-gnu", # "riscv64gc-unknown-linux-gnu",
"riscv64gc-unknown-linux-musl", "riscv64gc-unknown-linux-musl",
"loongarch64-unknown-linux-gnu", "loongarch64-unknown-linux-gnu",
"loongarch64-unknown-linux-musl", "loongarch64-unknown-linux-musl",
@ -49,3 +50,6 @@ dispatch-releases = true
install-updater = false install-updater = false
# Path that installers should place binaries in # Path that installers should place binaries in
install-path = ["$XDG_BIN_HOME/", "$XDG_DATA_HOME/../bin", "~/.local/bin"] install-path = ["$XDG_BIN_HOME/", "$XDG_DATA_HOME/../bin", "~/.local/bin"]
[dist.github-custom-runners]
aarch64-pc-windows-msvc = "windows-latest"

View file

@ -3,6 +3,9 @@ import fs from 'fs';
const versionToUpload = process.argv[2]; const versionToUpload = process.argv[2];
const DIST_CMD = "dist";
// const DIST_CMD = "cargo run --manifest-path ../cargo-dist/cargo-dist/Cargo.toml --bin dist --";
const run = (command) => { const run = (command) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
exec(command, (error, stdout, stderr) => { exec(command, (error, stdout, stderr) => {
@ -34,7 +37,10 @@ const main = async () => {
if (fs.existsSync('target/distrib/dist-manifest.json')) { if (fs.existsSync('target/distrib/dist-manifest.json')) {
fs.unlinkSync('target/distrib/dist-manifest.json'); fs.unlinkSync('target/distrib/dist-manifest.json');
} }
const distManifest = await run('dist host --steps=upload --steps=release --output-format=json');
await run(DIST_CMD + ' generate');
const distManifest = await run(DIST_CMD + ' host --steps=upload --steps=release --output-format=json');
const distData = JSON.parse(distManifest); const distData = JSON.parse(distManifest);
const body = distData.announcement_github_body; const body = distData.announcement_github_body;
// write to file // write to file