mirror of
https://github.com/love2d/love.git
synced 2026-08-12 08:30:56 +02:00
118 lines
3.8 KiB
YAML
118 lines
3.8 KiB
YAML
name: continuous-integration
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
linux-os:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Update APT
|
|
run: sudo apt-get update
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get install --assume-yes build-essential autotools-dev automake libtool pkg-config \
|
|
libfreetype6-dev libluajit-5.1-dev libsdl2-dev libopenal-dev \
|
|
libogg-dev libvorbis-dev libmodplug-dev libmpg123-dev libtheora-dev
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Pre-Configure
|
|
run: $PWD/platform/unix/automagic
|
|
- name: Configure
|
|
run: mkdir build && cd build && ../configure
|
|
- name: Build
|
|
run: cd build && make -j2
|
|
- name: Prepare appimagetool
|
|
run: |
|
|
cd build &&
|
|
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool &&
|
|
chmod +x appimagetool &&
|
|
sudo apt install -y appstream
|
|
- name: Clone love-appimages
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: build/love-appimages
|
|
repository: pfirsich/love-appimages
|
|
- name: Build AppImage
|
|
run: |
|
|
cd build &&
|
|
python3 love-appimages/build.py .. AppDir --builddir build --appimage love.AppImage
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v2-preview
|
|
with:
|
|
name: love.AppImage
|
|
path: build/love.AppImage
|
|
windows-os:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
platform: [Win32, x64]
|
|
steps:
|
|
- name: Clone Megasource
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: megasource
|
|
repository: love2d/megasource
|
|
ref: 12.x
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: megasource/libs/love
|
|
- name: Configure
|
|
shell: cmd
|
|
env:
|
|
PLATFORM: ${{ matrix.platform }}
|
|
run: cmake -Bbuild -Hmegasource -T v142 -A %PLATFORM% -DCMAKE_INSTALL_PREFIX=%CD%\install
|
|
- name: Install
|
|
shell: cmd
|
|
run: cmake --build build --config Release --target install -j2
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: love-windows-${{ matrix.platform }}
|
|
path: install
|
|
macOS:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Clone Dependencies
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: apple-dependencies
|
|
repository: slime73/love-apple-dependencies
|
|
ref: main
|
|
- name: Move Dependencies
|
|
run:
|
|
mv apple-dependencies/macOS/Frameworks platform/xcode/macosx
|
|
- name: Build
|
|
run:
|
|
xcodebuild clean archive -project platform/xcode/love.xcodeproj -scheme love-macosx -configuration Release -archivePath love-macos.xcarchive
|
|
- name: Export Archive
|
|
run:
|
|
xcodebuild -exportArchive -archivePath love-macos.xcarchive -exportPath love-macos -exportOptionsPlist platform/xcode/macosx/macos-copy-app.plist
|
|
- name: Zip Archive
|
|
run:
|
|
ditto -c -k --sequesterRsrc --keepParent love-macos/love.app love-macos.zip
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: love-macos
|
|
path: love-macos.zip
|
|
iOS-Simulator:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Clone Dependencies
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: apple-dependencies
|
|
repository: slime73/love-apple-dependencies
|
|
ref: main
|
|
- name: Move Dependencies
|
|
run: |
|
|
mv apple-dependencies/iOS/include platform/xcode/ios
|
|
mv apple-dependencies/iOS/libraries platform/xcode/ios
|
|
- name: Build
|
|
run:
|
|
xcodebuild -project platform/xcode/love.xcodeproj -scheme love-ios -configuration Release -destination 'platform=iOS Simulator,name=iPhone 11'
|