Skip to content

tst2

tst2 #413

Workflow file for this run

name: Build
on:
push:
branches:
- "**"
tags:
- '[0-9]+.[0-9]+.[0-9]+'
pull_request:
branches:
- "**"
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
PREMAKE_VERSION: "5.0.0-beta2"
jobs:
# build-windows:
# name: Build Windows
# runs-on: windows-latest
# strategy:
# fail-fast: false
# matrix:
# config:
# - release
# arch:
# - x86
# - x64
# include:
# - arch: x86
# platform: Win32
# - arch: x64
# platform: x64
# steps:
# - name: Check out files
# uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 0
# lfs: false
# - name: Add msbuild to PATH
# uses: microsoft/[email protected]
# - name: Add premake5 to PATH
# uses: abel0b/[email protected]
# with:
# version: ${{ env.PREMAKE_VERSION }}
# - name: Generate project files
# run: premake5 vs2022
# - name: Set up problem matching
# uses: ammaraskar/msvc-problem-matcher@master
# - name: Build ${{matrix.arch}} ${{matrix.config}} binaries
# run: msbuild /m /v:minimal /p:Configuration=${{matrix.config}} /p:Platform=${{matrix.platform}} build/gsc-tool.sln
# - name: Upload ${{matrix.arch}} ${{matrix.config}} binaries
# uses: actions/[email protected]
# with:
# name: windows-${{matrix.arch}}-${{matrix.config}}
# path: |
# build/bin/${{matrix.arch}}/${{matrix.config}}/gsc-tool.exe
build-macos:
name: Build macOS
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
config:
- release
arch:
- x64
- arm64
steps:
- name: Check out files
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
lfs: false
- name: Add premake5 to PATH
uses: abel0b/[email protected]
with:
version: ${{ env.PREMAKE_VERSION }}
- name: Generate project files
run: premake5 gmake2
- name: Set up problem matching
uses: ammaraskar/gcc-problem-matcher@master
- name: Build ${{matrix.arch}} ${{matrix.config}} binaries
run: |
pushd build
make config=${{matrix.config}}_${{matrix.arch}} -j$(sysctl -n hw.logicalcpu)
- name: Upload ${{matrix.arch}} ${{matrix.config}} binaries
uses: actions/[email protected]
with:
name: macos-${{matrix.arch}}-${{matrix.config}}
path: |
build/bin/${{matrix.arch}}/${{matrix.config}}/gsc-tool
# build-linux:
# name: Build Linux
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# config:
# - release
# arch:
# - x64
# - arm64
# steps:
# - name: Check out files
# uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 0
# lfs: false
# - name: Install dependencies (arm64)
# if: matrix.arch == 'arm64'
# run: |
# sudo apt-get update
# sudo apt-get install crossbuild-essential-arm64 -y
# - name: Add premake5 to PATH
# uses: abel0b/[email protected]
# with:
# version: ${{ env.PREMAKE_VERSION }}
# - name: Generate project files
# run: premake5 gmake2
# - name: Set up problem matching
# uses: ammaraskar/gcc-problem-matcher@master
# - name: Build ${{matrix.arch}} ${{matrix.config}} binaries
# run: |
# pushd build
# make config=${{matrix.config}}_${{matrix.arch}} -j$(nproc)
# env:
# CC: clang
# CXX: clang++
# - name: Upload ${{matrix.arch}} ${{matrix.config}} binaries
# uses: actions/[email protected]
# with:
# name: linux-${{matrix.arch}}-${{matrix.config}}
# path: |
# build/bin/${{matrix.arch}}/${{matrix.config}}/gsc-tool
deploy:
name: Deploy Release
runs-on: ubuntu-latest
needs: [ build-macos ]
# if: startsWith(github.ref, 'refs/tags/') && (github.event.base_ref == 'refs/heads/prod' || github.event.base_ref == 'refs/heads/dev')
steps:
# - name: Check out files
# uses: actions/checkout@v4
- name: Download Binaries
uses: actions/download-artifact@v3
- name: List Binaries
run: ls -la
# - name: Create Release
# uses: "marvinpinto/action-automatic-releases@latest"
# with:
# repo_token: "${{ secrets.GITHUB_TOKEN }}"
# prerelease: false
# draft: true
# files: |
# gsc-tool.exe