Skip to content

Try again.

Try again. #5

Workflow file for this run

name: Build with CMake and Ninja
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup LLVM (Ubuntu)
if: runner.os == 'Linux'
run: |
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20230614/llvm-mingw-20230614-ucrt-ubuntu-20.04-x86_64.tar.xz
tar xf llvm-mingw-20230614-ucrt-ubuntu-20.04-x86_64.tar.xz
echo "$(pwd)/llvm-mingw-20230614-ucrt-ubuntu-20.04-x86_64/bin" >> $GITHUB_PATH
- name: Install Dependencies (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get install ninja-build xorg-dev libglu1-mesa-dev libxrandr-dev libxi-dev libxinerama-dev libxcursor-dev libxxf86vm-dev
- name: Install Ninja (Windows)
if: runner.os == 'Windows'
run: choco install ninja
- name: Install Ninja (macOS)
if: runner.os == 'macOS'
run: brew install ninja
- name: Create Build Directory
run: mkdir build
- name: Run CMake
run: |
cd build
cmake .. -GNinja
- name: Run Ninja
run: |
cd build
ninja
- name: Create Zip File
run: |
cd build
zip -r bin.zip bin/
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: build-bin-${{ runner.os }}
path: build/bin.zip
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
name: build-bin-ubuntu-latest
path: ./build-bin-ubuntu-latest.zip
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
name: build-bin-windows-latest
path: ./build-bin-windows-latest.zip
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
name: build-bin-macos-latest
path: ./build-bin-macos-latest.zip
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: release-${{ github.sha }}
release_name: Release-${{ github.repository }}-${{ github.run_id }}
draft: false
prerelease: false
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- name: Upload Release Assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build-bin-ubuntu-latest.zip
asset_name: build-bin-ubuntu-latest.zip
asset_content_type: application/zip
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- name: Upload Release Assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build-bin-windows-latest.zip
asset_name: build-bin-windows-latest.zip
asset_content_type: application/zip
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- name: Upload Release Assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build-bin-macos-latest.zip
asset_name: build-bin-macos-latest.zip
asset_content_type: application/zip
if: github.event_name == 'push' && github.ref == 'refs/heads/main'