name: Build on: push: branches: dev jobs: Dev-Build: continue-on-error: true strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] include: - os: macos-latest flags: --universal --x64=false --arm64=false -m - os: ubuntu-latest flags: --armv7l -l - os: windows-latest flags: --ia32 -w runs-on: ${{matrix.os}} steps: - name: Checkout code uses: actions/checkout@v4 - name: Prepare PNPM uses: pnpm/action-setup@v4 - name: Prepare Node.js uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm - name: Install dependencies run: pnpm i - name: Build TypeScript run: pnpm build - name: Load Electron Cache uses: actions/cache/restore@v4 with: path: .cache key: electron-zips.dev.${{matrix.os}} - name: Build ArmCord run: pnpm electron-builder --x64 --arm64 ${{matrix.flags}} zip --publish never env: GH_TOKEN: ${{secrets.GITHUB_TOKEN}} # MacOS needs the token or it will fail to build - name: Save Electron Cache uses: actions/cache/save@v4 with: path: .cache key: electron-zips.dev.${{matrix.os}} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ${{matrix.os}} path: dist/**/*.zip DevRelease: runs-on: ubuntu-latest needs: - Dev-Build steps: - name: Checkout code uses: actions/checkout@v4 - name: Download artifacts uses: actions/download-artifact@v4 with: path: release-files - name: Delete run: gh release delete devbuild -y --cleanup-tag continue-on-error: true env: GH_TOKEN: ${{secrets.GITHUB_TOKEN}} - name: Get short commit hash id: vars run: echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT - name: Create release uses: ncipollo/release-action@v1 env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} with: bodyFile: .github/release.md name: Dev Build ${{steps.vars.outputs.sha_short}} prerelease: true draft: false tag: devbuild artifacts: release-files/**/*.zip