From c54314cf20ce83e8dd6722781ce070d767027207 Mon Sep 17 00:00:00 2001 From: DJLevel3 Date: Sun, 17 Aug 2025 08:26:35 -0600 Subject: [PATCH 1/2] Rename build.yaml to build.yaml.bak for testing purposes --- .github/workflows/{build.yaml => build.yaml.bak} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{build.yaml => build.yaml.bak} (100%) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml.bak similarity index 100% rename from .github/workflows/build.yaml rename to .github/workflows/build.yaml.bak From 29c8b4294825979d64f97d3acd40af50aa9cb50b Mon Sep 17 00:00:00 2001 From: DJLevel3 Date: Sun, 17 Aug 2025 08:26:55 -0600 Subject: [PATCH 2/2] Create build.yaml for testing purposes --- .github/workflows/build.yaml | 183 +++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000..b72cbaf9 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,183 @@ +name: Build +on: + push: + branches: + - main + - develop + workflow_dispatch: +jobs: + build-linux: + name: Build Linux + runs-on: ubuntu-24.04 + strategy: + matrix: + include: + - project: osci-render + version: free + - project: osci-render + version: premium + - project: sosci + version: premium + steps: + - name: Fix up git URLs + run: echo -e '[url "https://github.com/"]\n insteadOf = "git@github.com:"' >> ~/.gitconfig + shell: bash + + - uses: actions/checkout@v1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + submodules: true + + - name: "Run script" + run: | + export OS="linux" + source ./ci/setup-env.sh + source ./ci/test.sh + source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}" + shell: bash + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: "${{ matrix.project }}-${{ matrix.version }}-linux" + path: bin + retention-days: 7 + build-macos: + name: Build macOS + runs-on: macos-latest + strategy: + matrix: + include: + - project: osci-render + version: free + - project: osci-render + version: premium + - project: sosci + version: premium + steps: + - name: Fix up git URLs + run: echo -e '[url "https://github.com/"]\n insteadOf = "git@github.com:"' >> ~/.gitconfig + shell: bash + + - uses: actions/checkout@v1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + submodules: true + + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest + + - name: Import application certificates + uses: apple-actions/import-codesign-certs@v3 + with: + keychain: oscirender + keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} + p12-file-base64: ${{ secrets.APPLE_APPLICATION_CERTIFICATE }} + p12-password: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_PASSWORD }} + + - name: Import installer certificates + uses: apple-actions/import-codesign-certs@v3 + with: + keychain: oscirender + keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} + p12-file-base64: ${{ secrets.APPLE_INSTALLER_CERTIFICATE }} + p12-password: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }} + create-keychain: false + + - name: "Run script" + run: | + export OS="mac" + source ./ci/setup-env.sh + source ./ci/test.sh + source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}" + shell: bash + + - name: Download Packages installer build tool + run: wget http://s.sudre.free.fr/files/Packages_1211_dev.dmg + + - name: Mount Packages image + run: hdiutil attach Packages_1211_dev.dmg + + - name: Install Packages + run: sudo installer -pkg /Volumes/Packages\ 1.2.11/Install\ Packages.pkg -target / + + - name: Build installer + run: packagesbuild --project "packaging/${{ matrix.project }}.pkgproj" + + - name: Sign installer + run: | + productsign -s "${{ secrets.APPLE_DEVELOPER_ID_INSTALLER }}" "packaging/build/${{ matrix.project }}.pkg" "bin/${{ matrix.project }}-${{ matrix.version }}.pkg" + pkgutil --check-signature "bin/${{ matrix.project }}-${{ matrix.version }}.pkg" + + - name: Notarize installer + uses: lando/notarize-action@v2 + with: + product-path: "bin/${{ matrix.project }}-${{ matrix.version }}.pkg" + appstore-connect-username: ${{ secrets.APPLE_ID }} + appstore-connect-password: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} + appstore-connect-team-id: ${{ secrets.APPLE_TEAM_ID }} + primary-bundle-id: com.${{ matrix.project }}.pkg + tool: notarytool + verbose: true + + - name: Staple installer + run: xcrun stapler staple "bin/${{ matrix.project }}-${{ matrix.version }}.pkg" + + - name: Check installer + run: spctl -a -vvv -t install "bin/${{ matrix.project }}-${{ matrix.version }}.pkg" + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: "${{ matrix.project }}-${{ matrix.version }}-macos" + path: bin + retention-days: 7 + build-windows: + name: Build Windows + runs-on: windows-latest + strategy: + matrix: + include: + - project: osci-render + version: free + - project: osci-render + version: premium + steps: + - name: Fix up git URLs + run: echo -e '[url "https://github.com/"]\n insteadOf = "git@github.com:"' >> ~/.gitconfig + shell: bash + + - uses: actions/checkout@v1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + submodules: true + + - name: Setup NuGet.exe for use with actions + uses: NuGet/setup-nuget@v1.0.5 + + - name: NuGet Sources + run: nuget sources + + - name: "Run script" + run: | + export OS="win" + source ./ci/setup-env.sh + source ./ci/test.sh + source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}" + shell: bash + + - name: Compile .ISS to .EXE Installer + uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 + with: + path: "packaging/${{ matrix.project }}.iss" + + - name: Move installer to bin + run: mv "packaging/build/${{ matrix.project }}.exe" "bin/${{ matrix.project }}-${{ matrix.version }}.exe" + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: "${{ matrix.project }}-${{ matrix.version }}-windows" + path: bin + retention-days: 7