Skip to content

Commit

Permalink
Merge branch 'master' into TyrannicalThesaurus/master
Browse files Browse the repository at this point in the history
  • Loading branch information
psyGamer committed Sep 29, 2024
2 parents f269c85 + 8f4c117 commit b945ae6
Show file tree
Hide file tree
Showing 249 changed files with 24,648 additions and 25,944 deletions.
3,693 changes: 157 additions & 3,536 deletions .editorconfig

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions .everestignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.git
.github
.idea

CelesteTAS-EverestInterop
Studio
StudioCommunication

Docs
Scripts
152 changes: 152 additions & 0 deletions .github/workflows/Build.CelesteStudio.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
name: Build Celeste Studio

on:
workflow_call:
inputs:
build-cfg:
required: true
type: string
default: Release

jobs:
build-windows:
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'

- name: Set version suffix (release)
run: sed -i "s/-dev//" Studio/CelesteStudio/Studio.cs
if: ${{ inputs.build-cfg == 'Release' }}
- name: Set version suffix (nightly)
run: sed -i "s/-dev/-$(git rev-parse --short HEAD)/" Studio/CelesteStudio/Studio.cs
if: ${{ inputs.build-cfg == 'Debug' }}

- name: Publish x64
run: dotnet publish Studio/CelesteStudio.WPF -c ${{ inputs.build-cfg }} -r win-x64 --output build-x64

- name: Remove platform suffix
run: mv build-x64/CelesteStudio.WPF.exe build-x64/CelesteStudio.exe

- name: Generate archive
run: |
Push-Location build-x64
Compress-Archive -Destination ../CelesteStudio-windows-x64.zip -Path **
Pop-Location
- name: Upload x64
uses: actions/upload-artifact@v4
with:
name: CelesteStudio-windows-x64
path: CelesteStudio-windows-x64.zip

build-linux:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'

- name: Set version suffix (release)
run: sed -i "s/-dev//" Studio/CelesteStudio/Studio.cs
if: ${{ inputs.build-cfg == 'Release' }}
- name: Set version suffix (nightly)
run: sed -i "s/-dev/-$(git rev-parse --short HEAD)/" Studio/CelesteStudio/Studio.cs
if: ${{ inputs.build-cfg == 'Debug' }}

- name: Publish x64
run: dotnet publish Studio/CelesteStudio.GTK -c ${{ inputs.build-cfg }} -r linux-x64 --output build-x64

- name: Remove platform suffix
run: mv build-x64/CelesteStudio.GTK build-x64/CelesteStudio

- name: Generate archive
run: |
pushd build-x64
zip -r ../CelesteStudio-linux-x64.zip **
popd
- name: Upload x64
uses: actions/upload-artifact@v4
with:
name: CelesteStudio-linux-x64
path: CelesteStudio-linux-x64.zip

build-mac:
runs-on: macos-13

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'
- name: Install macOS workflow
run: dotnet workload install macos
- name: Switch XCode
run: sudo xcode-select -switch /Applications/Xcode_15.1.app/Contents/Developer

- name: Set version suffix (release)
run: sed -i '' -e "s/-dev//" Studio/CelesteStudio/Studio.cs
if: ${{ inputs.build-cfg == 'Release' }}
- name: Set version suffix (nightly)
run: zsh -c "sed -i '' -e "s/-dev/-$(git rev-parse --short HEAD)/" Studio/CelesteStudio/Studio.cs"
if: ${{ inputs.build-cfg == 'Debug' }}

- name: Publish x64
run: dotnet publish Studio/CelesteStudio.Mac -c ${{ inputs.build-cfg }} -r osx-x64 --output build-x64
- name: Publish ARM64
run: dotnet publish Studio/CelesteStudio.Mac -c ${{ inputs.build-cfg }} -r osx-arm64 --output build-arm64

- name: Remove platform suffix
run: |
pushd build-x64
mv CelesteStudio.Mac.app CelesteStudio.app
mv CelesteStudio.app/Contents/MacOS/CelesteStudio.Mac CelesteStudio.app/Contents/MacOS/CelesteStudio
mv CelesteStudio.app/Contents/MacOS/CelesteStudio.Mac.app CelesteStudio.app/Contents/MacOS/CelesteStudio.app
sed -i '' -e 's/CelesteStudio.Mac/CelesteStudio/' CelesteStudio.app/Contents/Info.plist
popd
pushd build-arm64
mv CelesteStudio.Mac.app CelesteStudio.app
mv CelesteStudio.app/Contents/MacOS/CelesteStudio.Mac CelesteStudio.app/Contents/MacOS/CelesteStudio
mv CelesteStudio.app/Contents/MacOS/CelesteStudio.Mac.app CelesteStudio.app/Contents/MacOS/CelesteStudio.app
sed -i '' -e 's/CelesteStudio.Mac/CelesteStudio/' CelesteStudio.app/Contents/Info.plist
popd
- name: Generate archive
run: |
pushd build-x64
zip -r ../CelesteStudio-macos-x64.zip CelesteStudio.app
popd
pushd build-arm64
zip -r ../CelesteStudio-macos-arm64.zip CelesteStudio.app
popd
- name: Upload x64
uses: actions/upload-artifact@v4
with:
name: CelesteStudio-macos-x64
path: CelesteStudio-macos-x64.zip
- name: Upload ARM64
uses: actions/upload-artifact@v4
with:
name: CelesteStudio-macos-arm64
path: CelesteStudio-macos-arm64.zip
80 changes: 80 additions & 0 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Build CelesteTAS + Studio

on:
workflow_call:
push:
branches:
- '*'
paths:
- 'CelesteTAS-EverestInterop/**'
- 'Studio/**'
- 'StudioCommunication/**'
- .github/workflows/Build.yml
- .github/workflows/Build.CelesteStudio.yml
pull_request:
branches:
- '*'
paths:
- 'CelesteTAS-EverestInterop/**'
- 'Studio/**'
- 'StudioCommunication/**'
- .github/workflows/Build.yml
- .github/workflows/Build.CelesteStudio.yml

jobs:
build-studio:
uses: ./.github/workflows/Build.CelesteStudio.yml
with:
build-cfg: Debug

build-celestetas:
runs-on: ubuntu-latest
needs: build-studio

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'

- name: Download Studio builds
uses: actions/download-artifact@v4
with:
pattern: CelesteStudio-*
- name: Move Studio builds into correct location
run: |
mv CelesteStudio-windows-x64/CelesteStudio-windows-x64.zip .
mv CelesteStudio-linux-x64/CelesteStudio-linux-x64.zip .
mv CelesteStudio-macos-x64/CelesteStudio-macos-x64.zip .
mv CelesteStudio-macos-arm64/CelesteStudio-macos-arm64.zip .
- name: Fill-in download info
run: |
sed -i "s\\false; //DOUBLE_ZIP_ARCHIVE\\true;\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##STUDIO_VERSION##\\$(perl -nle 'print $1 if /<Version>(\S+)<\/Version>/' Studio/CelesteStudio/CelesteStudio.csproj)-$(git rev-parse --short HEAD)\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##URL_WINDOWS_x64##\\https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/CelesteStudio-windows-x64.zip\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##URL_LINUX_x64##\\https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/CelesteStudio-linux-x64.zip\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##URL_MACOS_x64##\\https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/CelesteStudio-macos-x64.zip\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##URL_MACOS_ARM64##\\https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/CelesteStudio-macos-arm64.zip\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##CHECKSUM_WINDOWS_x64##\\$(md5sum CelesteStudio-windows-x64.zip | head -c 32)\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##CHECKSUM_LINUX_x64##\\$(md5sum CelesteStudio-linux-x64.zip | head -c 32)\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##CHECKSUM_MACOS_x64##\\$(md5sum CelesteStudio-macos-x64.zip | head -c 32)\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
sed -i "s\\##CHECKSUM_MACOS_ARM64##\\$(md5sum CelesteStudio-macos-arm64.zip | head -c 32)\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
cat CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs
- name: Build
run: dotnet build CelesteTAS-EverestInterop -c Debug -p:DefineConstants=INSTALL_STUDIO

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: CelesteTAS
path: |
everest.yaml
bin
Dialog
Graphics
41 changes: 0 additions & 41 deletions .github/workflows/NetFramework.Legacy.CI.Release.yml

This file was deleted.

44 changes: 0 additions & 44 deletions .github/workflows/NetFramework.Legacy.CI.yml

This file was deleted.

Loading

0 comments on commit b945ae6

Please sign in to comment.