diff --git a/.github/workflows/Build.SyncChecker.yml b/.github/workflows/Build.SyncChecker.yml new file mode 100644 index 00000000..5a944759 --- /dev/null +++ b/.github/workflows/Build.SyncChecker.yml @@ -0,0 +1,32 @@ +name: Build Sync Checker + +on: + workflow_call: + inputs: + build-cfg: + required: true + type: string + default: Release + +jobs: + build-sync-checker: + 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: Publish + run: dotnet publish SyncChecker -c ${{ inputs.build-cfg }} -p:UseAppHost=false --output build-sync-checker + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: SyncChecker + path: build-sync-checker/** diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index eae4fa26..d00afceb 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -1,4 +1,4 @@ -name: Build CelesteTAS + Studio +name: Build on: workflow_call: @@ -27,6 +27,11 @@ jobs: with: build-cfg: Debug + build-sync-checker: + uses: ./.github/workflows/Build.SyncChecker.yml + with: + build-cfg: Debug + build-celestetas: runs-on: ubuntu-latest needs: build-studio diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 01ea7103..eafbf37b 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -59,10 +59,16 @@ jobs: build-cfg: Release needs: generate-changelog + build-sync-checker: + uses: ./.github/workflows/Build.SyncChecker.yml + with: + build-cfg: Release + release: runs-on: ubuntu-latest needs: - build-studio + - build-sync-checker - generate-changelog steps: @@ -93,6 +99,16 @@ jobs: mv CelesteStudio-macos-x64/CelesteStudio-macos-x64.zip . mv CelesteStudio-macos-arm64/CelesteStudio-macos-arm64.zip . + - name: Download SyncChecker builds + uses: actions/download-artifact@v4 + with: + pattern: SyncChecker + - name: Generate SyncChecker archive + run: | + pushd SyncChecker + zip ../SyncChecker.zip ** + popd + - name: Fill-in download info run: | sed -i "s\\false; //DOUBLE_ZIP_ARCHIVE\\false;\\" CelesteTAS-EverestInterop/Source/EverestInterop/StudioHelper.cs @@ -159,6 +175,7 @@ jobs: CelesteStudio-linux-x64.zip CelesteStudio-macos-x64.zip CelesteStudio-macos-arm64.zip + SyncChecker.zip - name: Clean-up changelog artifacts uses: geekyeggo/delete-artifact@v5