40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
name: Build & Upload tux-dock
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- dev
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: [self-hosted]
|
|
steps:
|
|
- name: Clone current branch
|
|
run: |
|
|
git clone --branch ${{ github.ref_name }} https://mentalnet.xyz/forgejo/markmental/tuxdock.git .
|
|
echo "✅ Checked out branch ${{ github.ref_name }}"
|
|
|
|
- name: Compile tux-dock
|
|
run: |
|
|
g++ -std=c++17 main.cpp -o tux-dock
|
|
chmod +x tux-dock
|
|
echo "🎉 tux-dock successfully compiled and marked executable!"
|
|
|
|
- name: Verify build
|
|
run: file tux-dock
|
|
|
|
- name: Package build as tar
|
|
run: |
|
|
mkdir -p build/${{ github.ref_name }}
|
|
chmod +x tux-dock
|
|
mv tux-dock build/${{ github.ref_name }}/
|
|
tar czf tux-dock-linux-x86_64-${{ github.ref_name }}.tar.gz -C build ${ { github.ref_name } }
|
|
echo "📦 Created tarball with preserved permissions"
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: tux-dock-linux-x86_64-${{ github.ref_name }}
|
|
path: tux-dock-linux-x86_64-${{ github.ref_name }}.tar.gz
|
|
|
|
|