Skip to content

Merge pull request #119 from MilchRatchet/dev-collision-vis #111

Merge pull request #119 from MilchRatchet/dev-collision-vis

Merge pull request #119 from MilchRatchet/dev-collision-vis #111

Workflow file for this run

name: CI
on: [push]
jobs:
build_linux:
runs-on: ubuntu-24.04
outputs:
release_name: ${{ steps.get-version.outputs.release_name }}
steps:
- uses: actions/checkout@master
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '8.0.x'
- run: dotnet --list-runtimes && dotnet --list-sdks
name: Output dotnet versions for debugging
- run: git submodule update --init
name: Ensure submodules are present and up to date
- run: mkdir -p /tmp/zips
name: Create output directory
- run: dotnet publish -c Release -o /tmp/out-linux/replanetizer --self-contained --runtime linux-x64 Replanetizer
name: Build Replanetizer for Linux
- run: echo "release_name=$(grep -m 1 'InformationalVersionAttribute' Replanetizer/obj/Release/*/*/Replanetizer.AssemblyInfo.cs | cut -d '"' -f 2)" >> $GITHUB_OUTPUT
id: get-version
name: Get Informational Version Attribute
- run: cd /tmp/out-linux/ && zip -r /tmp/zips/replanetizer-${{steps.get-version.outputs.release_name}}-linux-x64.zip replanetizer
name: Zip up Replanetizer for Linux
- uses: actions/upload-artifact@v4
name: Upload zips to GitHub actions artifact storage
with:
name: replanetizer-${{steps.get-version.outputs.release_name}}-linux-x64.zip
path: /tmp/zips/replanetizer-${{steps.get-version.outputs.release_name}}-linux-x64.zip
build_windows:
runs-on: windows-2025
needs: [build_linux]
steps:
- uses: actions/checkout@master
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '8.0.x'
- run: dotnet --list-runtimes && dotnet --list-sdks
name: Output dotnet versions for debugging
- run: git submodule update --init
name: Ensure submodules are present and up to date
- run: mkdir -p /tmp/zips
name: Create output directory
- run: dotnet publish -c Release -o /tmp/out-win/replanetizer --self-contained --runtime win-x64 Replanetizer
name: Build Replanetizer for Windows
- run: Compress-Archive -Path /tmp/out-win/replanetizer -DestinationPath /tmp/zips/replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip
name: Zip up Replanetizer for Windows
- uses: actions/upload-artifact@v4
name: Upload zips to GitHub actions artifact storage
with:
name: replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip
path: /tmp/zips/replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip
build_macos:
runs-on: macos-15
needs: [build_linux]
steps:
- uses: actions/checkout@master
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '8.0.x'
- run: dotnet --list-runtimes && dotnet --list-sdks
name: Output dotnet versions for debugging
- run: git submodule update --init
name: Ensure submodules are present and up to date
- run: mkdir -p /tmp/zips
name: Create output directory
- run: dotnet publish -c Release -o /tmp/out-osx/replanetizer --self-contained --runtime osx-x64 Replanetizer
name: Build Replanetizer for Mac
- run: cd /tmp/out-osx/ && zip -r /tmp/zips/replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip replanetizer
name: Zip up Replanetizer for Mac
- uses: actions/upload-artifact@v4
name: Upload zips to GitHub actions artifact storage
with:
name: replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip
path: /tmp/zips/replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip
release:
runs-on: ubuntu-24.04
needs: [build_linux, build_windows, build_macos]
if: github.ref == 'refs/heads/master'
steps:
- name: Download all workflow run artifacts
uses: actions/download-artifact@v4
with:
path: ./
- name: Create Release
id: create_release
if: github.ref == 'refs/heads/master'
uses: actions/create-release@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{needs.build_linux.outputs.release_name}}
release_name: v${{needs.build_linux.outputs.release_name}}
draft: false
prerelease: false
- name: Upload Release Asset Linux
if: github.ref == 'refs/heads/master'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: replanetizer-${{needs.build_linux.outputs.release_name}}-linux-x64.zip
asset_path: replanetizer-${{needs.build_linux.outputs.release_name}}-linux-x64.zip/replanetizer-${{needs.build_linux.outputs.release_name}}-linux-x64.zip
asset_content_type: application/zip
- name: Upload Release Asset Windows
if: github.ref == 'refs/heads/master'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip
asset_path: replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip/replanetizer-${{needs.build_linux.outputs.release_name}}-win-x64.zip
asset_content_type: application/zip
- name: Upload Release Asset macOS
if: github.ref == 'refs/heads/master'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip
asset_path: replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip/replanetizer-${{needs.build_linux.outputs.release_name}}-osx-x64.zip
asset_content_type: application/zip