Fix GHA release: resolve stable toolchain override and sanitize Arch Linux package version

This commit is contained in:
peoplemiau1
2026-05-28 23:20:48 +03:00
parent a7f9b79b93
commit 800fe38fba
2 changed files with 20 additions and 17 deletions

View File

@@ -228,14 +228,15 @@ jobs:
- name: Build Arch Package inside Container - name: Build Arch Package inside Container
if: matrix.package_type == 'arch' if: matrix.package_type == 'arch'
run: | run: |
PKGVER='${{ needs.setup.outputs.version }}' PKGVER_ORIG='${{ needs.setup.outputs.version }}'
PKGVER_CLEAN="${PKGVER_ORIG//-/.}"
TAG='${{ needs.setup.outputs.tag }}' TAG='${{ needs.setup.outputs.tag }}'
SRC_URL="https://github.com/dexoron/dcr/archive/refs/tags/${TAG}.tar.gz" SRC_URL="https://github.com/dexoron/dcr/archive/refs/tags/${TAG}.tar.gz"
SHA256="$(curl -fsSL "$SRC_URL" | sha256sum | awk '{print $1}')" SHA256="$(curl -fsSL "$SRC_URL" | sha256sum | awk '{print $1}')"
mkdir -p arch-build mkdir -p arch-build
cat > arch-build/PKGBUILD <<PKG cat > arch-build/PKGBUILD <<PKG
pkgname=dcr pkgname=dcr
pkgver=${PKGVER} pkgver=${PKGVER_CLEAN}
pkgrel=1 pkgrel=1
pkgdesc="Cargo-like utility to manage C/C++ projects" pkgdesc="Cargo-like utility to manage C/C++ projects"
arch=('x86_64') arch=('x86_64')
@@ -244,14 +245,14 @@ jobs:
depends=('gcc-libs') depends=('gcc-libs')
makedepends=('cargo') makedepends=('cargo')
options=('!lto') options=('!lto')
source=("\$pkgname-\$pkgver.tar.gz::\$url/archive/refs/tags/v\$pkgver.tar.gz") source=("\$pkgname-\$pkgver.tar.gz::\$url/archive/refs/tags/${TAG}.tar.gz")
sha256sums=('${SHA256}') sha256sums=('${SHA256}')
build() { build() {
cd "\$srcdir/\$pkgname-\$pkgver" cd "\$srcdir/\$pkgname-${PKGVER_ORIG}"
cargo build --release --locked cargo build --release --locked
} }
package() { package() {
cd "\$srcdir/\$pkgname-\$pkgver" cd "\$srcdir/\$pkgname-${PKGVER_ORIG}"
install -Dm755 "target/release/dcr" "\$pkgdir/usr/bin/dcr" install -Dm755 "target/release/dcr" "\$pkgdir/usr/bin/dcr"
install -Dm644 LICENSE "\$pkgdir/usr/share/licenses/\$pkgname/LICENSE" install -Dm644 LICENSE "\$pkgdir/usr/share/licenses/\$pkgname/LICENSE"
} }
@@ -506,14 +507,15 @@ jobs:
shell: bash shell: bash
run: | run: |
set -euo pipefail set -euo pipefail
PKGVER='${{ needs.setup.outputs.version }}' PKGVER_ORIG='${{ needs.setup.outputs.version }}'
PKGVER_CLEAN="${PKGVER_ORIG//-/.}"
SRC_URL='${{ steps.meta.outputs.source_url }}' SRC_URL='${{ steps.meta.outputs.source_url }}'
SHA256='${{ steps.meta.outputs.sha256 }}' SHA256='${{ steps.meta.outputs.sha256 }}'
mkdir -p packages/aur/dcr mkdir -p packages/aur/dcr
cat > packages/aur/dcr/PKGBUILD <<PKG cat > packages/aur/dcr/PKGBUILD <<PKG
pkgname=dcr pkgname=dcr
pkgver=${PKGVER} pkgver=${PKGVER_CLEAN}
pkgrel=1 pkgrel=1
pkgdesc="Cargo-like utility to manage C/C++ projects" pkgdesc="Cargo-like utility to manage C/C++ projects"
arch=('x86_64' 'aarch64') arch=('x86_64' 'aarch64')
@@ -526,11 +528,11 @@ jobs:
'gcc: build C/C++ projects with GCC' 'gcc: build C/C++ projects with GCC'
'clang: build C/C++ projects with Clang' 'clang: build C/C++ projects with Clang'
) )
source=("\$pkgname-\$pkgver.tar.gz::\$url/archive/refs/tags/v\$pkgver.tar.gz") source=("\$pkgname-\$pkgver.tar.gz::\${SRC_URL}")
sha256sums=('${SHA256}') sha256sums=('${SHA256}')
build() { build() {
cd "\$srcdir/\$pkgname-\$pkgver" cd "\$srcdir/\$pkgname-${PKGVER_ORIG}"
export CARGO_PROFILE_RELEASE_LTO=false export CARGO_PROFILE_RELEASE_LTO=false
export RUSTFLAGS="\${RUSTFLAGS:-}" export RUSTFLAGS="\${RUSTFLAGS:-}"
export RUSTFLAGS="\${RUSTFLAGS/-C link-arg=-fuse-ld=lld/}" export RUSTFLAGS="\${RUSTFLAGS/-C link-arg=-fuse-ld=lld/}"
@@ -538,7 +540,7 @@ jobs:
} }
package() { package() {
cd "\$srcdir/\$pkgname-\$pkgver" cd "\$srcdir/\$pkgname-${PKGVER_ORIG}"
install -Dm755 "target/release/dcr" "\$pkgdir/usr/bin/dcr" install -Dm755 "target/release/dcr" "\$pkgdir/usr/bin/dcr"
install -Dm644 LICENSE "\$pkgdir/usr/share/licenses/\$pkgname/LICENSE" install -Dm644 LICENSE "\$pkgdir/usr/share/licenses/\$pkgname/LICENSE"
} }
@@ -547,7 +549,7 @@ jobs:
cat > packages/aur/dcr/.SRCINFO <<SRC cat > packages/aur/dcr/.SRCINFO <<SRC
pkgbase = dcr pkgbase = dcr
pkgdesc = Cargo-like utility to manage C/C++ projects pkgdesc = Cargo-like utility to manage C/C++ projects
pkgver = ${PKGVER} pkgver = ${PKGVER_CLEAN}
pkgrel = 1 pkgrel = 1
url = https://github.com/dexoron/dcr url = https://github.com/dexoron/dcr
arch = x86_64 arch = x86_64
@@ -558,7 +560,7 @@ jobs:
optdepends = gcc: build C/C++ projects with GCC optdepends = gcc: build C/C++ projects with GCC
optdepends = clang: build C/C++ projects with Clang optdepends = clang: build C/C++ projects with Clang
options = !lto options = !lto
source = dcr-${PKGVER}.tar.gz::${SRC_URL} source = dcr-${PKGVER_CLEAN}.tar.gz::${SRC_URL}
sha256sums = ${SHA256} sha256sums = ${SHA256}
pkgname = dcr pkgname = dcr
@@ -618,14 +620,15 @@ jobs:
shell: bash shell: bash
run: | run: |
set -euo pipefail set -euo pipefail
PKGVER='${{ needs.setup.outputs.version }}' PKGVER_ORIG='${{ needs.setup.outputs.version }}'
PKGVER_CLEAN="${PKGVER_ORIG//-/.}"
BIN_URL='${{ steps.meta.outputs.bin_url }}' BIN_URL='${{ steps.meta.outputs.bin_url }}'
SHA256='${{ steps.meta.outputs.sha256 }}' SHA256='${{ steps.meta.outputs.sha256 }}'
mkdir -p packages/aur/dcr-bin mkdir -p packages/aur/dcr-bin
cat > packages/aur/dcr-bin/PKGBUILD <<PKG cat > packages/aur/dcr-bin/PKGBUILD <<PKG
pkgname=dcr-bin pkgname=dcr-bin
pkgver=${PKGVER} pkgver=${PKGVER_CLEAN}
pkgrel=1 pkgrel=1
pkgdesc="Cargo-like utility to manage C/C++ projects (pre-compiled musl binary)" pkgdesc="Cargo-like utility to manage C/C++ projects (pre-compiled musl binary)"
arch=('x86_64') arch=('x86_64')
@@ -648,7 +651,7 @@ jobs:
cat > packages/aur/dcr-bin/.SRCINFO <<SRC cat > packages/aur/dcr-bin/.SRCINFO <<SRC
pkgbase = dcr-bin pkgbase = dcr-bin
pkgdesc = Cargo-like utility to manage C/C++ projects (pre-compiled musl binary) pkgdesc = Cargo-like utility to manage C/C++ projects (pre-compiled musl binary)
pkgver = ${PKGVER} pkgver = ${PKGVER_CLEAN}
pkgrel = 1 pkgrel = 1
url = https://github.com/dexoron/dcr url = https://github.com/dexoron/dcr
arch = x86_64 arch = x86_64
@@ -657,7 +660,7 @@ jobs:
conflicts = dcr conflicts = dcr
optdepends = gcc: build C/C++ projects with GCC optdepends = gcc: build C/C++ projects with GCC
optdepends = clang: build C/C++ projects with Clang optdepends = clang: build C/C++ projects with Clang
source_x86_64 = dcr-${PKGVER}::${BIN_URL} source_x86_64 = dcr-${PKGVER_CLEAN}::${BIN_URL}
sha256sums_x86_64 = ${SHA256} sha256sums_x86_64 = ${SHA256}
pkgname = dcr-bin pkgname = dcr-bin

View File

@@ -1,2 +1,2 @@
[toolchain] [toolchain]
channel = "nightly" channel = "stable"