Super release

This commit is contained in:
dkeruza-neo
2025-09-15 16:12:07 -04:00
parent b3b3e15357
commit ae6e4c6e56
137 changed files with 46210 additions and 18935 deletions
+18 -3
View File
@@ -2,7 +2,6 @@ name: 🐧 Linux AppImage
on:
workflow_call:
workflow_dispatch:
jobs:
linux-appimage:
@@ -10,9 +9,14 @@ jobs:
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Checkout code
uses: actions/checkout@v4
- name: Download version.h artifact
uses: actions/download-artifact@v4
with:
fetch-depth: 0
name: version-file
path: src/lindbergh/
- name: Install Packages
run: scripts/appimage/install-packages.sh
@@ -20,6 +24,9 @@ jobs:
- name: Build Deps
run: scripts/appimage/build-deps.sh
- name: Pack Libs
run: scripts/appimage/pack-libs.sh
- name: Compile Build
shell: bash
run: |
@@ -31,3 +38,11 @@ jobs:
with:
name: "linux-appimage"
path: "lindbergh-loader.AppImage"
- name: Upload SDL3 and FAudio
uses: actions/upload-artifact@v4
with:
name: SDL3-FAudio
path: |
libs/libs.tar
libs/includes.tar
+13 -3
View File
@@ -14,10 +14,20 @@ jobs:
options: --privileged
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Checkout code
uses: actions/checkout@v4
- name: Download version.h artifact
uses: actions/download-artifact@v4
with:
fetch-depth: 0
set-safe-directory: ${{ env.GITHUB_WORKSPACE }}
name: version-file
path: src/lindbergh/
- name: Download SDL3 libs
uses: actions/download-artifact@v4
with:
name: SDL3-FAudio
path: libs/
# Work around container ownership issue
- name: Set Safe Directory
+14 -7
View File
@@ -2,19 +2,26 @@ name: Build and Release Lindbergh
on:
workflow_call:
workflow_dispatch:
permissions:
contents: write
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
# Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout code
uses: actions/checkout@v4
- name: Download version.h artifact
uses: actions/download-artifact@v4
with:
name: version-file
path: src/lindbergh/
- name: Download SDL3 libs
uses: actions/download-artifact@v4
with:
name: SDL3-FAudio
path: libs/
# Set up Docker Buildx
- name: Set up Docker Buildx
+73 -50
View File
@@ -4,14 +4,14 @@ on:
workflow_dispatch:
pull_request:
branches:
- master
- main
paths-ignore:
- '**.md'
- '.github/ISSUE_TEMPLATE/*'
- '.docs/changelog'
push:
branches:
- master
- main
paths-ignore:
- '**.md'
- '.github/ISSUE_TEMPLATE/*'
@@ -19,49 +19,22 @@ on:
- '.github/workflows/*'
jobs:
linux-build:
name: 💻 Linux
uses: "./.github/workflows/linux-build.yml"
linux-flatpak:
name: 📦 Linux Flatpak
uses: "./.github/workflows/flatpak-build.yml"
linux-appimage:
name: 📦 Linux AppImage
uses: "./.github/workflows/appimage-build.yml"
create-release:
name: 📤 Create Release
needs: [linux-build, linux-flatpak, linux-appimage]
prepare-source:
name: ⚙️ Prepare Source
runs-on: ubuntu-22.04
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
outputs:
release_version: ${{ steps.get_version.outputs.RELEASE_VERSION }}
release_tag: ${{ steps.get_version.outputs.RELEASE_TAG }}
steps:
# Step 1: Checkout the code to access Git history and tags
- name: Checkout code
uses: actions/checkout@v4
with:
# Fetch all history and tags, necessary for git tag command
fetch-depth: 0
# Step 2: Download artifacts from previous build jobs
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: ./artifacts/
# Optional: Display downloaded artifacts for debugging
- name: Display Downloaded Artifacts
run: find ./artifacts/
# Step 3: Extract the latest version from changelog.md
- name: Extract Version from Changelog
- name: Extract Version and Update version.h
id: get_version
run: |
# Define the path to the changelog file (adjust if it's not at the root)
CHANGELOG_FILE="./docs/changelog"
VERSION_FILE="src/lindbergh/version.h"
echo "Attempting to extract version from $CHANGELOG_FILE..."
# Check if the changelog file exists
if [[ ! -f "$CHANGELOG_FILE" ]]; then
echo "Error: Changelog file '$CHANGELOG_FILE' not found."
exit 1
@@ -77,26 +50,76 @@ jobs:
echo "Found version: $VERSION"
# Set environment variables for the release step
# RELEASE_TAG often includes a 'v' prefix, RELEASE_VERSION is the plain version
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
echo "RELEASE_TAG=v$VERSION" >> $GITHUB_ENV # Add 'v' prefix for the tag
echo "Using tag: v$VERSION"
MAJOR=$(echo $VERSION | cut -d. -f1)
MINOR=$(echo $VERSION | cut -d. -f2)
UPDATE=$(echo $VERSION | cut -d. -f3)
if [ -z "$UPDATE" ]; then
UPDATE=0
fi
if [[ ! -f "$VERSION_FILE" ]]; then
echo "Error: Version file '$VERSION_FILE' not found."
exit 1
fi
sed -i "s/\(#define MAJOR_VERSION \).*/\1$MAJOR/" "$VERSION_FILE"
sed -i "s/\(#define MINOR_VERSION \).*/\1$MINOR/" "$VERSION_FILE"
sed -i "s/\(#define UPDATE_VERSION \).*/\1$UPDATE/" "$VERSION_FILE"
echo "Updated $VERSION_FILE with version $MAJOR.$MINOR.$UPDATE"
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "RELEASE_TAG=v$VERSION" >> $GITHUB_OUTPUT
- name: Upload version.h artifact
uses: actions/upload-artifact@v4
with:
name: version-file
path: src/lindbergh/version.h
linux-appimage:
name: 📦 Linux AppImage
needs: prepare-source
uses: "./.github/workflows/appimage-build.yml"
linux-build:
name: 💻 Linux
needs: [prepare-source, linux-appimage]
uses: "./.github/workflows/linux-build.yml"
linux-flatpak:
name: 📦 Linux Flatpak
needs: [prepare-source, linux-appimage]
uses: "./.github/workflows/flatpak-build.yml"
create-release:
name: 📤 Create Release
needs: [linux-build, linux-flatpak, linux-appimage, prepare-source]
runs-on: ubuntu-22.04
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: ./artifacts/
- name: Display Downloaded Artifacts
run: find ./artifacts/
# Step 4: Create the release using the calculated tag
- name: Create Release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
# Use the environment variable set in the previous step
# automatic_release_tag: ${{ env.NEXT_TAG }}
automatic_release_tag: ${{ env.RELEASE_TAG }}
# Keep prerelease as false unless you want preview releases
automatic_release_tag: ${{ needs.prepare-source.outputs.release_tag }}
prerelease: false
# Update the title to use the new tag
# title: "Build ${{ env.NEXT_TAG }}"
title: "Build ${{ env.RELEASE_TAG }}"
title: "Build ${{ needs.prepare-source.outputs.release_tag }}"
files: |
./artifacts/linux-flatpak/lindbergh-loader.flatpak
./artifacts/linux-build/build.tar.gz
./artifacts/linux-appimage/lindbergh-loader.AppImage
./artifacts/linux-appimage/lindbergh-loader.AppImage