Skip to content

Build and Release AppBundles #7

Build and Release AppBundles

Build and Release AppBundles #7

Workflow file for this run

name: Build and Release Packages
on:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
jobs:
build:
name: Build and Release Packages
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5.0.2
# Find and run all build scripts inside ./programs/*
- name: Run build scripts for all architectures
run: |
# Set output directory
export OUT_DIR="$HOME/out"
mkdir -p "$OUT_DIR"
cd "$OUT_DIR"
DBIN_PGRS="dwarfs-tools bwrap-patched"
export GOBIN="$HOME/.local/bin"
mkdir -p "$HOME/.local/bin"
git clone --depth 1 --branch dev https://github.com/xplshn/pelf
cp ./pelf/pelf* ~/.local/bin
cp ./pelf/cmd/misc/* ~/.local/bin
go install github.com/xplshn/pelf/cmd/pelfd@dev
#go install github.com/xplshn/pelf/cmd/dynexec/lib4bin@dev
wget -qO- "https://raw.githubusercontent.com/xplshn/dbin/master/stubdl" | sh -s -- --install "$HOME/.local/bin/dbin" add $DBIN_PGRS && \
export PATH="$HOME/.local/bin:$PATH" && {
ln -sfT "$HOME/.local/bin/dwarfs-tools" "$HOME/.local/bin/mkdwarfs"
ln -sfT "$HOME/.local/bin/dwarfs-tools" "$HOME/.local/bin/dwarfs"
ln -sfT "$HOME/.local/bin/bwrap-patched" "$HOME/.local/bin/bwrap"
}
# Iterate over build scripts in programs/*
for dir in ./recipes/*; do
if [ -d "$dir" ]; then
for script in "$dir"/*; do
if [ -x "$script" ]; then
echo "Running $script..."
$script
else
echo "$script is not executable, skipping."
fi
done
fi
done
# Create GitHub Release
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: weekly-release-${{ github.run_id }}
release_name: "Weekly Release - Run ${{ github.run_id }}"
body: "This is an automated release containing built AppBundles."
draft: false
prerelease: false
- name: Create Release
uses: marvinpinto/action-automatic-releases@latest
with:
title: "Weekly Release - Run ${{ github.run_id }}"
automatic_release_tag: weekly-release-${{ github.run_id }}
prerelease: false
draft: false
files: |
$HOME/out/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}