tuxdock/.forgejo/workflows/build.yaml

45 lines
1.2 KiB
YAML
Raw Permalink Normal View History

2025-11-03 16:20:39 -05:00
name: Build & Upload tux-dock
2025-11-03 17:42:48 -05:00
on:
push:
branches:
- main
- dev
jobs:
build:
runs-on: [self-hosted]
2025-11-03 17:54:04 -05:00
env:
BRANCH: ${{ github.ref_name }}
2025-11-03 18:11:31 -05:00
COMMIT: ${{ github.sha }}
steps:
2025-11-03 17:42:48 -05:00
- name: Clone current branch
run: |
2025-11-03 17:54:04 -05:00
git clone --branch "$BRANCH" https://mentalnet.xyz/forgejo/markmental/tuxdock.git .
2025-11-03 18:11:31 -05:00
echo "✅ Checked out branch $BRANCH ($COMMIT)"
- name: Compile tux-dock
run: |
2025-11-03 16:20:39 -05:00
g++ -std=c++17 main.cpp -o tux-dock
2025-11-03 17:42:48 -05:00
chmod +x tux-dock
2025-11-03 17:54:04 -05:00
echo "🎉 tux-dock compiled and marked executable!"
- name: Verify build
2025-11-03 16:22:28 -05:00
run: file tux-dock
2025-11-03 16:20:39 -05:00
2025-11-03 18:11:31 -05:00
- name: Prepare build artifact (tar.gz)
2025-11-03 17:42:48 -05:00
run: |
2025-11-03 17:54:04 -05:00
mkdir -p build/"$BRANCH"
mv tux-dock build/"$BRANCH"/
2025-11-03 18:11:31 -05:00
SHORT_HASH=$(echo "$COMMIT" | cut -c1-7)
TAR_NAME="tux-dock-linux-x86_64-${BRANCH}-${SHORT_HASH}.tar.gz"
tar czf "$TAR_NAME" -C build "$BRANCH"
echo "📦 Created $TAR_NAME"
2025-11-03 17:54:04 -05:00
- name: Upload build artifact
2025-11-03 16:22:28 -05:00
uses: actions/upload-artifact@v3
2025-11-03 16:20:39 -05:00
with:
2025-11-03 18:11:31 -05:00
name: tux-dock-linux-x86_64-${{ env.BRANCH }}-${{ env.COMMIT }}
path: tux-dock-linux-x86_64-${{ env.BRANCH }}-*.tar.gz