Fixed cameras #86
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Publish | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: write | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Clone Drizzle | |
run: git clone --branch embedded https://github.com/HenryMarkle/Drizzle | |
- name: Setting up Drizzle | |
run: | | |
cd ./Drizzle | |
dotnet restore | |
dotnet run --project Drizzle.Transpiler | |
dotnet build --configuration Release | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: | | |
cd ./Leditor | |
dotnet build --configuration Release | |
- name: Publish | |
run: | | |
cd ./Leditor | |
dotnet publish --configuration Release --sc -r linux-x64 --output ../output | |
- name: Copy assets folder to output directory | |
run: | | |
cp -r ./Leditor/assets ./output/assets | |
cp ./imgui.ini ./output | |
- name: Archive output | |
run: zip -r linux-x64.zip ./output | |
- name: Upload Linux Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-binaries | |
path: ./linux-x64.zip | |
build-linux-minimal: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Clone Drizzle | |
run: git clone --branch embedded https://github.com/HenryMarkle/Drizzle | |
- name: Setting up Drizzle | |
run: | | |
cd ./Drizzle | |
dotnet restore | |
dotnet run --project Drizzle.Transpiler | |
dotnet build --configuration Release | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: | | |
cd ./Leditor | |
dotnet build --configuration Release | |
- name: Publish | |
run: | | |
cd ./Leditor | |
dotnet publish --configuration Release --sc -r linux-x64 --output ../output | |
- name: Copy assets folder to output directory | |
run: | | |
rsync -av --exclude='renderer/Props' --exclude='renderer/Graphics/' ./Leditor/assets/ ./output/assets/ | |
cp ./imgui.ini ./output | |
- name: Archive output | |
run: zip -r linux-minimal-x64.zip ./output | |
- name: Upload Linux Artifact (minimal) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-binaries-minimal | |
path: ./linux-minimal-x64.zip | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Clone Drizzle | |
run: git clone --branch embedded https://github.com/HenryMarkle/Drizzle | |
- name: Setting up Drizzle | |
run: | | |
cd ./Drizzle | |
dotnet restore | |
dotnet run --project Drizzle.Transpiler | |
dotnet build --configuration Release | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: | | |
cd ./Leditor | |
dotnet build --configuration Release | |
- name: Publish | |
run: | | |
cd ./Leditor | |
dotnet publish --configuration Release --sc -r win-x64 --output ../output | |
- name: Copy assets folder to output directory | |
run: Copy-Item -Recurse -Path ./Leditor/assets -Destination ./output/assets | |
- name: Copy ImGui ini file to output directory | |
run: Copy-Item -Path ./imgui.ini -Destination ./output | |
- name: Archive output | |
run: Compress-Archive -Path ./output/* -DestinationPath windows-x64.zip | |
- name: Upload Windows Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows-binaries | |
path: ./windows-x64.zip | |
build-windows-minimal: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Clone Drizzle | |
run: git clone --branch embedded https://github.com/HenryMarkle/Drizzle | |
- name: Setting up Drizzle | |
run: | | |
cd ./Drizzle | |
dotnet restore | |
dotnet run --project Drizzle.Transpiler | |
dotnet build --configuration Release | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: | | |
cd ./Leditor | |
dotnet build --configuration Release | |
- name: Publish | |
run: | | |
cd ./Leditor | |
dotnet publish --configuration Release --sc -r win-x64 --output ../output | |
- name: Copy assets folder to output directory | |
run: | | |
$source = "./Leditor/assets" | |
$destination = "./output/assets" | |
$excludeDirs = @("renderer/Props", "renderer/Graphics") | |
Get-ChildItem -Path $source -Directory -Exclude $excludeDirs | ForEach-Object { | |
Copy-Item -Path $_.FullName -Destination $destination -Recurse | |
} | |
- name: Copy ImGui ini file to output directory | |
run: Copy-Item -Path ./imgui.ini -Destination ./output | |
- name: Archive output | |
run: Compress-Archive -Path ./output/* -DestinationPath windows-minimal-x64.zip | |
- name: Upload Windows Artifact (minimal) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows-binaries-minimal | |
path: ./windows-minimal-x64.zip | |
create-release: | |
needs: [build-linux, build-linux-minimal, build-windows, build-windows-minimal] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Reade Version | |
id: release_version | |
run: | | |
version=$(cat ./Version.txt) | |
echo "::set-output name=version::$version" | |
- name: Read release notes | |
id: read_release_notes | |
run: | | |
notes=$(cat ./Release_Notes.txt) | |
echo "::set-output name=notes::$notes" | |
- name: Read release notes | |
id: release_notes | |
uses: jaywcjlove/github-action-read-file@main | |
with: | |
path: Release_Notes.txt | |
- name: Download Linux Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-binaries | |
path: ./artifacts | |
- name: Download Linux Artifact (minimal) | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-binaries-minimal | |
path: ./artifacts | |
- name: Download Windows Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: windows-binaries | |
path: ./artifacts | |
- name: Download Windows Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: windows-binaries-minimal | |
path: ./artifacts | |
- name: Create GitHub Release | |
if: github.ref == 'refs/heads/main' | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ github.run_number }} | |
release_name: Release v${{steps.release_version.outputs.version}} | |
body: ${{ steps.release_notes.outputs.content }} | |
draft: false | |
prerelease: false | |
- name: Upload Linux Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/linux-x64.zip | |
asset_name: linux-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Linux Release Asset (minimal) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/linux-minimal-x64.zip | |
asset_name: linux-minimal-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Windows Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/windows-x64.zip | |
asset_name: windows-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Windows Release Asset (minimal) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/windows-minimal-x64.zip | |
asset_name: windows-minimal-x64.zip | |
asset_content_type: application/zip |