mirror of
https://github.com/lindbergh-loader/lindbergh-loader.git
synced 2026-10-02 11:48:00 +03:00
Super release
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user