From 884701efbbe4d008f725c6106d1751e57eda40b5 Mon Sep 17 00:00:00 2001 From: ItsSim Date: Tue, 23 Jan 2024 16:50:23 +0100 Subject: [PATCH] fix: remeshes CI --- .github/workflows/electron_ci.yml | 95 +++++++++++++++++-------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/.github/workflows/electron_ci.yml b/.github/workflows/electron_ci.yml index 0e371f1..0ee9d16 100644 --- a/.github/workflows/electron_ci.yml +++ b/.github/workflows/electron_ci.yml @@ -10,7 +10,39 @@ on: - develop jobs: - build-and-publish: + build-remeshes: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: 16 + + - name: Build Remeshes + run: | + npm install + npm run build + working-directory: other/fsolauncher-remeshes + + - name: Calculate SHA256 hash of Remeshes + run: | + hash=$(shasum -a 256 release/remeshes-*.zip | awk '{print $1}') + echo "Remeshes hash: $hash" + echo $hash > release/sha256_remeshes.txt + working-directory: other/fsolauncher-remeshes + + - name: Upload Remeshes as Artifact + uses: actions/upload-artifact@v2 + with: + name: remeshes-zip + path: | + other/fsolauncher-remeshes/release/remeshes-*.zip + other/fsolauncher-remeshes/release/sha256_remeshes.txt + + build-launcher: runs-on: ${{ matrix.os }} strategy: matrix: @@ -47,41 +79,6 @@ jobs: with: node-version: 16 - - name: Build Remeshes - run: | - npm install - npm run build - working-directory: other/fsolauncher-remeshes - - - name: Get Remeshes Version - id: get_remeshes_version - shell: bash - run: | - echo "REMESHES_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV - working-directory: other/fsolauncher-remeshes - - - name: Calculate SHA256 hash of Remeshes (Windows) - if: matrix.os == 'windows-latest' - run: | - $hash = (Get-FileHash -Path "release/remeshes-*.zip" -Algorithm SHA256).Hash.ToLower() - echo "Windows hash: $hash" - echo $hash > release/sha256_remeshes.txt - - - name: Calculate SHA256 hash of Remeshes (macOS) - if: matrix.os == 'macos-latest' - run: | - hash=$(shasum -a 256 release/remeshes-*.zip | awk '{print $1}') - echo "macOS hash: $hash" - echo $hash > release/sha256_remeshes.txt - - - name: Upload Remeshes as Artifact - uses: actions/upload-artifact@v2 - with: - name: remeshes-zip - path: | - release/remeshes-*.zip - release/sha256_remeshes.txt - - name: Cache Electron binaries id: cache-electron-binaries uses: actions/cache@v2 @@ -173,7 +170,7 @@ jobs: release/sha256_darwin.txt create-release: - needs: build-and-publish + needs: [build-launcher, build-remeshes] runs-on: ubuntu-latest steps: @@ -272,20 +269,30 @@ jobs: name: remeshes-zip path: release/remeshes + - name: Find Remeshes File + id: find_remeshes_file + run: | + remeshes_file=$(ls release/remeshes/remeshes-*.zip) + echo "REMESHES_FILE=$remeshes_file" >> $GITHUB_ENV + echo "Found remeshes file: $remeshes_file" + - name: Upload release assets uses: actions/github-script@v5 with: script: | const fs = require('fs'); const launcherVersion = process.env.FULL_VERSION_NAME; - const remeshesVersion = process.env.REMESHES_VERSION; + const launcherNameWindows = `fsolauncher-${launcherVersion}.exe`; + const launcherNameMac = `fsolauncher-${launcherVersion}.dmg`; + const remeshesFile = process.env.REMESHES_FILE; + const remeshesName = remeshesFile.split('/').pop(); const assetPaths = [ - {path: 'release/win/FreeSO Launcher Setup.exe', name: `fsolauncher-${launcherVersion}.exe`, contentType: 'application/octet-stream'}, - {path: 'release/win/sha256_win32.txt', name: `fsolauncher-${launcherVersion}.exe.sha256`, contentType: 'text/plain'}, - {path: 'release/mac/FreeSO Launcher.dmg', name: `fsolauncher-${launcherVersion}.dmg`, contentType: 'application/octet-stream'}, - {path: 'release/mac/sha256_darwin.txt', name: `fsolauncher-${launcherVersion}.dmg.sha256`, contentType: 'text/plain'}, - {path: `release/remeshes/remeshes-${remeshesVersion}.zip`, name: `remeshes-${remeshesVersion}.zip`, contentType: 'application/zip'}, - {path: 'release/remeshes/sha256_remeshes.txt', name: `remeshes-${remeshesVersion}.zip.sha256`, contentType: 'text/plain'}, + {path: 'release/win/FreeSO Launcher Setup.exe', name: launcherNameWindows, contentType: 'application/octet-stream'}, + {path: 'release/win/sha256_win32.txt', name: launcherNameWindows + '.sha256', contentType: 'text/plain'}, + {path: 'release/mac/FreeSO Launcher.dmg', name: launcherNameMac, contentType: 'application/octet-stream'}, + {path: 'release/mac/sha256_darwin.txt', name: launcherNameMac + '.sha256', contentType: 'text/plain'}, + {path: remeshesFile, name: remeshesName, contentType: 'application/zip'}, + {path: 'release/remeshes/sha256_remeshes.txt', name: remeshesName + '.sha562', contentType: 'text/plain'}, ]; const release = await github.rest.repos.getReleaseByTag({