mirror of
https://github.com/mickelson/attract.git
synced 2026-10-12 02:18:55 +00:00
- Add FreeBSD detection and conditional compilation in Makefile - Make GameSWF library changes conditional for FreeBSD compatibility - Use portable shebang in changelog script - All changes are conditional - no impact on Linux/macOS builds
99 lines
3.0 KiB
YAML
99 lines
3.0 KiB
YAML
on:
|
|
create:
|
|
tags:
|
|
- 'v[0-9]+.[0-9]+.[0-9]+'
|
|
|
|
name: Draft Release
|
|
|
|
jobs:
|
|
draft_release:
|
|
name: Create Release
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: false
|
|
outputs:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
tag_name: ${{ steps.tag_name.outputs.tag_name }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Get Tag Name
|
|
id: tag_name
|
|
run: echo "tag_name=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Generate ChangeLog
|
|
id: changelog
|
|
run: |
|
|
if [ -f util/output-changelog-md.sh ]; then
|
|
util/output-changelog-md.sh > release.txt
|
|
else
|
|
echo "Release ${{ steps.tag_name.outputs.tag_name }}" > release.txt
|
|
fi
|
|
|
|
- name: Create Release
|
|
id: create_release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: ${{ github.ref }}
|
|
body_path: release.txt
|
|
draft: true
|
|
prerelease: false
|
|
|
|
macosx:
|
|
name: MacOS Release
|
|
runs-on: macos-latest
|
|
continue-on-error: false
|
|
needs: draft_release
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install MacOS Dependencies
|
|
run: brew update && brew install ffmpeg sfml libarchive curl
|
|
|
|
- name: MacOS Package
|
|
run: util/osx/create-pkg.sh ${{ needs.draft_release.outputs.tag_name }}
|
|
|
|
- name: Upload Release Asset
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.draft_release.outputs.upload_url }}
|
|
asset_path: ./attract-${{ needs.draft_release.outputs.tag_name }}.dmg
|
|
asset_name: attract-${{ needs.draft_release.outputs.tag_name }}.dmg
|
|
asset_content_type: application/zip
|
|
|
|
freebsd:
|
|
name: FreeBSD Release
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: false
|
|
needs: draft_release
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build FreeBSD Release
|
|
uses: vmactions/freebsd-vm@v1
|
|
with:
|
|
usesh: true
|
|
run: |
|
|
pkg install -y gmake clang pkgconf sfml openal-soft ffmpeg libarchive curl fontconfig libGLU
|
|
gmake clean
|
|
gmake
|
|
mkdir -p attract-freebsd
|
|
cp attract attract-freebsd/
|
|
cp -r config attract-freebsd/
|
|
cp Readme.md License.txt attract-freebsd/
|
|
tar -czf attract-freebsd-${{ needs.draft_release.outputs.tag_name }}.tar.gz attract-freebsd/
|
|
|
|
- name: Upload FreeBSD Release Asset
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.draft_release.outputs.upload_url }}
|
|
asset_path: ./attract-freebsd-${{ needs.draft_release.outputs.tag_name }}.tar.gz
|
|
asset_name: attract-freebsd-${{ needs.draft_release.outputs.tag_name }}.tar.gz
|
|
asset_content_type: application/gzip
|