name: Nightly Release on: # schedule: # - cron: '0 2 * * *' workflow_dispatch: jobs: publish: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macos-latest, ubuntu-latest] steps: - name: Checkout git repo uses: actions/checkout@v1 - name: Install Node and PNPM uses: pnpm/action-setup@v4.1.0 with: version: 9 - name: Install dependencies run: pnpm install - name: Bump version and add beta suffix shell: pwsh run: | # Get current version from package.json $currentVersion = (Get-Content package.json | ConvertFrom-Json).version Write-Host "Current version: $currentVersion" # Extract major, minor, patch components $versionParts = $currentVersion.Split('.') $major = [int]$versionParts[0] $minor = [int]$versionParts[1] $patch = [int]$versionParts[2] # Increment patch version $newPatch = $patch + 1 # Create new version with beta suffix $newVersion = "$major.$minor.$newPatch-beta" Write-Host "New version: $newVersion" # Update package.json $packageJson = Get-Content package.json | ConvertFrom-Json $packageJson.version = $newVersion $packageJson | ConvertTo-Json -Depth 10 | Set-Content package.json Write-Host "Updated package.json version to: $newVersion" - name: Build and Publish releases (Windows) if: matrix.os == 'windows-latest' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: nick-invision/retry@v2.8.2 with: timeout_minutes: 30 max_attempts: 3 retry_on: error command: | pnpm run publish:win on_retry_command: pnpm cache delete - name: Build and Publish releases (macOS) if: matrix.os == 'macos-latest' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: nick-invision/retry@v2.8.2 with: timeout_minutes: 30 max_attempts: 3 retry_on: error command: | pnpm run publish:mac on_retry_command: pnpm cache delete - name: Build and Publish releases (Linux) if: matrix.os == 'ubuntu-latest' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: nick-invision/retry@v2.8.2 with: timeout_minutes: 30 max_attempts: 3 retry_on: error command: | pnpm run publish:linux on_retry_command: pnpm cache delete - name: Build and Publish releases (Linux ARM64) if: matrix.os == 'ubuntu-latest' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: nick-invision/retry@v2.8.2 with: timeout_minutes: 30 max_attempts: 3 retry_on: error command: | pnpm run publish:linux-arm64 on_retry_command: pnpm cache delete