Skip to content

Pulsar-Debugger: Accept source.path in SetBreakpointsRequest and Sour… #24

Pulsar-Debugger: Accept source.path in SetBreakpointsRequest and Sour…

Pulsar-Debugger: Accept source.path in SetBreakpointsRequest and Sour… #24

Workflow file for this run

name: Build
on: [ push, pull_request ]
defaults:
run:
shell: bash
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [ x86_64 ]
cc: [ clang, gcc ]
config: [ debug ]
env:
PREMAKE_INSTALL_URL: https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-linux.tar.gz
ARTIFACT_NAME: pulsar-linux_${{ matrix.arch }}-${{ matrix.cc }}_${{ matrix.config }}
ARTIFACT_UPLOAD: ${{ matrix.config == 'debug' && 'yes' || 'no' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install -q -y ${{ matrix.cc }} curl make tar
curl -Lo premake5.tar.gz ${{ env.PREMAKE_INSTALL_URL }}
tar -xf ./premake5.tar.gz
- name: Generate Project Files
run: |
./premake5 --arch=${{ matrix.arch }} --cc=${{ matrix.cc }} gmake
- name: Build
run: |
make -j config?=${{ matrix.config }} pulsar pulsar-debugger pulsar-lsp pulsar-tools
- name: Prepare Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
run: |
OS="$( basename build/pulsar/linux_* )"
CONFIG='${{ matrix.config }}'
for config_dir in "build/pulsar/$OS"/*
do
config_name="$( basename $config_dir )"
if [ "$( echo "$config_name" | tr '[:upper:]' '[:lower:]' )" = '${{ matrix.config }}' ]; then
CONFIG="$config_name"
break
fi
done
PREMAKE_BUILD="$OS/$CONFIG"
mkdir -p artifact/${{ env.ARTIFACT_NAME }}/
cp LICENSE.md artifact/${{ env.ARTIFACT_NAME }}/
cp -R resources/** artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-debugger/$PREMAKE_BUILD/pulsar-debugger" artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-lsp/$PREMAKE_BUILD/pulsar-lsp" artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-tools/$PREMAKE_BUILD/pulsar-tools" artifact/${{ env.ARTIFACT_NAME }}/
- name: Upload Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: artifact
if-no-files-found: error
macosx:
if: false
runs-on: macos-latest
strategy:
matrix:
arch: [ arm64 ]
cc: [ gcc ]
config: [ debug ]
env:
PREMAKE_INSTALL_URL: https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-macosx.tar.gz
ARTIFACT_NAME: pulsar-macosx_${{ matrix.arch }}-${{ matrix.cc }}_${{ matrix.config }}
ARTIFACT_UPLOAD: ${{ matrix.config == 'debug' && 'yes' || 'no' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Dependencies
run: |
brew update -q
brew install -q make
curl -Lo premake5.tar.gz ${{ env.PREMAKE_INSTALL_URL }}
gtar -xf ./premake5.tar.gz
- name: Generate Project Files
run: |
./premake5 --arch=${{ matrix.arch }} --cc=${{ matrix.cc }} gmake
- name: Build
run: |
make -j config?=${{ matrix.config }} pulsar pulsar-debugger pulsar-lsp pulsar-tools
- name: Prepare Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
env:
PREMAKE_BUILD: macosx_${{ matrix.arch }}/${{ matrix.config == 'debug' && 'Debug' || 'Release' }}
run: |
mkdir -p artifact/${{ env.ARTIFACT_NAME }}/
cp LICENSE.md artifact/${{ env.ARTIFACT_NAME }}/
cp -R resources/** artifact/${{ env.ARTIFACT_NAME }}/
cp build/pulsar-debugger/${{ env.PREMAKE_BUILD }}/pulsar-debugger artifact/${{ env.ARTIFACT_NAME }}/
cp build/pulsar-lsp/${{ env.PREMAKE_BUILD }}/pulsar-lsp artifact/${{ env.ARTIFACT_NAME }}/
cp build/pulsar-tools/${{ env.PREMAKE_BUILD }}/pulsar-tools artifact/${{ env.ARTIFACT_NAME }}/
- name: Upload Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: artifact
if-no-files-found: error
windows:
runs-on: windows-latest
strategy:
matrix:
arch: [ x86_64 ]
cc: [ msc-v143 ]
config: [ debug ]
env:
PREMAKE_INSTALL_URL: https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-windows.zip
ARTIFACT_NAME: pulsar-windows_${{ matrix.arch }}-${{ matrix.cc }}_${{ matrix.config }}
ARTIFACT_UPLOAD: ${{ matrix.config == 'debug' && 'yes' || 'no' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Dependencies
run: |
curl -Lo premake5.zip ${{ env.PREMAKE_INSTALL_URL }}
unzip -o ./premake5.zip
- name: Generate Project Files
run: |
./premake5.exe --arch=${{ matrix.arch }} --cc=${{ matrix.cc }} vs2022
- name: Build
env:
MSBUILD_PLATFORM: ${{ matrix.arch == 'x86_64' && 'x64' || 'x86' }}
run: |
VSPATH=$("$PROGRAMFILES (x86)/Microsoft Visual Studio/Installer/vswhere.exe" -latest -products \* -requires Microsoft.Component.MSBuild -property installationPath)
MSBUILD="$VSPATH/MSBuild/Current/Bin/msbuild.exe"
if [ ! -f "$MSBUILD" -o ! -x "$MSBUILD" ]; then
echo 'msbuild not found!'
exit 1;
fi
"$MSBUILD" pulsar.sln -m -t:pulsar,pulsar-debugger,pulsar-lsp,pulsar-tools -p:Configuration=${{ matrix.config }} -p:Platform=${{ env.MSBUILD_PLATFORM }}
- name: Prepare Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
run: |
OS="$( basename build/pulsar/windows_* )"
CONFIG='${{ matrix.config }}'
for config_dir in "build/pulsar/$OS"/*
do
config_name="$( basename $config_dir )"
if [ "$( echo "$config_name" | tr '[:upper:]' '[:lower:]' )" = '${{ matrix.config }}' ]; then
CONFIG="$config_name"
break
fi
done
PREMAKE_BUILD="$OS/$CONFIG"
mkdir -p artifact/${{ env.ARTIFACT_NAME }}/
cp LICENSE.md artifact/${{ env.ARTIFACT_NAME }}/
cp -R resources/** artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-debugger/$PREMAKE_BUILD/pulsar-debugger.exe" artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-lsp/$PREMAKE_BUILD/pulsar-lsp.exe" artifact/${{ env.ARTIFACT_NAME }}/
cp "build/pulsar-tools/$PREMAKE_BUILD/pulsar-tools.exe" artifact/${{ env.ARTIFACT_NAME }}/
- name: Upload Artifact
if: env.ARTIFACT_UPLOAD == 'yes'
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: artifact
if-no-files-found: error