Fix TRI-PI ARM64 workflow for latest upstream releases
Watch Upstream triangles_v5 / Check for New Releases (push) Failing after 43s

This commit is contained in:
Krystie
2026-04-17 02:08:25 -07:00
parent 5df7f79a2e
commit 1861a0132a
3 changed files with 40 additions and 14 deletions
+4 -2
View File
@@ -34,9 +34,11 @@ To manually build a specific version:
1. Go to **Actions** tab
2. Select **Build TRI-PI ARM64** workflow
3. Click **Run workflow**
4. Enter version tag (e.g., `v5.4.5`)
4. Optionally enter a version tag (for example `v5.8.1`)
5. Click **Run workflow**
If no version is supplied, the workflow builds the latest published `triangles_v5` release.
### Automatic Updates
The workflow runs every 6 hours to check for new releases. When detected:
@@ -48,4 +50,4 @@ No manual intervention needed!
### Version Tracking
Current version stored in `VERSION` file at repo root.
Current version is stored in `VERSION` at repo root and updated by the ARM64 build workflow to match the upstream `triangles_v5` tag it actually built.
+34 -10
View File
@@ -1,31 +1,50 @@
name: Build TRI-PI ARM64
on:
# Triggered when triangles_v5 has a new release
repository_dispatch:
types: [new-release]
# Manual trigger (always builds latest)
workflow_dispatch:
inputs:
version:
description: "triangles_v5 tag to build (example: v5.8.1). Leave empty to use latest upstream release."
required: false
type: string
permissions:
contents: write
jobs:
build-arm64:
# Use GitHub Actions QEMU for ARM64 emulation
runs-on: ubuntu-latest
steps:
- name: Checkout tri-pi repo
uses: actions/checkout@v4
- name: Get latest triangles version
- name: Resolve target triangles version
id: get-version
shell: bash
run: |
# Always fetch latest from triangles_v5 repo
VERSION=$(curl -s https://api.github.com/repos/SamiAhmed7777/triangles_v5/releases/latest | grep '"tag_name"' | cut -d'"' -f4)
echo "version=$VERSION" >> $GITHUB_OUTPUT
set -euo pipefail
VERSION=""
if [ "${{ github.event_name }}" = "repository_dispatch" ]; then
VERSION="${{ github.event.client_payload.version }}"
elif [ -n "${{ github.event.inputs.version || '' }}" ]; then
VERSION="${{ github.event.inputs.version }}"
fi
if [ -z "$VERSION" ]; then
VERSION=$(curl -fsSL https://api.github.com/repos/SamiAhmed7777/triangles_v5/releases/latest | jq -r .tag_name)
fi
if [ -z "$VERSION" ] || [ "$VERSION" = "null" ]; then
echo "Failed to resolve triangles_v5 release version" >&2
exit 1
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "🔍 Building triangles $VERSION for ARM64"
- name: Set up QEMU
@@ -55,7 +74,7 @@ jobs:
apt-get install -y -qq \
git build-essential libtool autotools-dev automake pkg-config \
libssl-dev libevent-dev bsdmainutils libboost-all-dev \
libminiupnpc-dev libzmq3-dev tor curl wget ca-certificates
libminiupnpc-dev libzmq3-dev tor curl wget ca-certificates jq
# Build BerkeleyDB 4.8
cd /tmp
@@ -107,6 +126,11 @@ jobs:
echo "📦 Package created:"
ls -lh "${PACKAGE_DIR}.tar.gz"*
- name: Update repo version markers
run: |
VERSION="${{ steps.get-version.outputs.version }}"
printf '%s\n' "$VERSION" > VERSION
- name: Commit and push changes
run: |
VERSION="${{ steps.get-version.outputs.version }}"
@@ -114,7 +138,7 @@ jobs:
git config user.name "TRI-PI Builder"
git config user.email "bot@tri-pi.build"
git add bin/trianglesd VERSION releases/
git add VERSION bin/trianglesd releases/
git commit -m "Auto-build: TRI-PI ${VERSION} ARM64 release - Native ARM64 binary, GitHub Actions QEMU" || echo "No changes to commit"
git push origin main || echo "Already up to date"
+2 -2
View File
@@ -113,9 +113,9 @@ trianglesd manages Tor automatically:
## Automated Builds
New releases are built automatically via GitHub Actions when upstream triangles_v5 publishes a release. The CI uses QEMU ARM64 emulation on GitHub-hosted runners.
New releases are built automatically via GitHub Actions when upstream `triangles_v5` publishes a release. The CI uses QEMU ARM64 emulation on GitHub-hosted runners.
**Manual trigger:** [Actions](https://github.com/SamiAhmed7777/tri-pi/actions) → "Build TRI-PI ARM64" → "Run workflow"
**Manual trigger:** [Actions](https://github.com/SamiAhmed7777/tri-pi/actions) → "Build TRI-PI ARM64" → "Run workflow". You can leave the version blank to build the latest upstream release, or provide a specific upstream tag such as `v5.8.1`.
## Network