name: Dev build on: push: branches: - dev env: FORCE_COLOR: true jobs: build-linux: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json - name: Use Node.js 18 uses: actions/setup-node@v2 with: node-version: 18 cache: "pnpm" - name: Install Node dependencies run: pnpm install -g cargo-cp-artifact && pnpm install - name: Install Electron-Builder run: pnpm install -g electron-builder - name: Replace the version number run: cat src/utils.ts | sed -e 's/[[:digit:]]\.[[:digit:]]\.[[:digit:]]/DEV/g' | tee src/utils.ts > /dev/null - name: Build run: npm run build && electron-builder --linux zip && electron-builder --arm64 --linux zip - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ArmCordLinux.zip path: dist/ArmCord-3.2.0.zip - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ArmCordLinuxArm64.zip path: dist/ArmCord-3.2.0-arm64.zip build-snap: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json - name: Use Node.js 18 uses: actions/setup-node@v2 with: node-version: 18 cache: "pnpm" - name: Install Node dependencies run: pnpm install -g cargo-cp-artifact && pnpm install - name: Install Electron-Builder run: pnpm install -g electron-builder - name: Replace the version number run: cat src/utils.ts | sed -e 's/[[:digit:]]\.[[:digit:]]\.[[:digit:]]/DEV/g' | tee src/utils.ts > /dev/null - name: Build run: npm run build && electron-builder --linux snap --config.snap.grade=devel - uses: snapcore/action-publish@v1 env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }} with: snap: dist/ArmCord_3.2.0_amd64.snap release: edge build-mac: runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v2 - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json - name: Use Node.js 18 uses: actions/setup-node@v2 with: node-version: 18 cache: "pnpm" - name: Install Node dependencies run: pnpm install -g cargo-cp-artifact && pnpm install - name: Install Electron-Builder run: pnpm install -g electron-builder - name: Replace the version number run: cat src/utils.ts | sed -e 's/[[:digit:]]\.[[:digit:]]\.[[:digit:]]/DEV/g' | tee src/utils.ts > /dev/null - name: Build run: npm run build && electron-builder --macos zip env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ArmCordMac.zip path: dist/ArmCord-3.2.0-mac.zip build-windows: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v2 - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json - name: Use Node.js 18 uses: actions/setup-node@v2 with: node-version: 18 cache: "pnpm" - name: Install Node dependencies run: pnpm install -g cargo-cp-artifact && pnpm install - name: Install Electron-Builder run: pnpm install -g electron-builder - name: Replace the version number run: (Get-Content src/utils.ts) -replace "\d\.\d\.\d", "DEV" | Out-File src/utils.ts - name: Build run: npm run build && electron-builder --windows zip - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ArmCordWindows.zip path: dist/ArmCord-3.2.0-win.zip build-windowsOnARM: runs-on: windows-latest steps: - uses: actions/setup-node@v3 with: node-version: '18' - name: Checkout code uses: actions/checkout@v2 - name: Set architecture run: set npm_config_arch=arm64 - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json - name: Install Node dependencies run: pnpm install -g cargo-cp-artifact && pnpm install - name: Install Electron-Builder run: pnpm install -g electron-builder - name: Replace the version number run: (Get-Content src/utils.ts) -replace "\d\.\d\.\d", "DEV" | Out-File src/utils.ts - name: Build run: npm run build && electron-builder --windows zip --arm64 env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ArmCordWindowsArm64.zip path: dist\ArmCord-3.2.0-arm64-win.zip release: runs-on: ubuntu-latest needs: [build-linux, build-mac, build-windows, build-windowsOnARM] steps: - name: Checkout code uses: actions/checkout@v2 - uses: actions/download-artifact@v2 with: name: ArmCordMac.zip path: macos - uses: actions/download-artifact@v2 with: name: ArmCordWindows.zip path: windows - uses: actions/download-artifact@v2 with: name: ArmCordLinux.zip path: linux - uses: actions/download-artifact@v2 with: name: ArmCordLinuxArm64.zip path: linux - uses: actions/download-artifact@v2 with: name: ArmCordWindowsArm64.zip path: windows - name: Get some values needed for the release id: vars shell: bash run: | echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - uses: dev-drprasad/delete-tag-and-release@v0.2.1 with: delete_release: true tag_name: devbuild env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create the release uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: devbuild name: Dev Build ${{ steps.vars.outputs.sha_short }} draft: false prerelease: true body_path: .github/release.md files: | linux/ArmCord-3.2.0.zip linux/ArmCord-3.2.0-arm64.zip macos/ArmCord-3.2.0-mac.zip windows/ArmCord-3.2.0-win.zip windows/ArmCord-3.2.0-arm64-win.zip