diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6a1c8ee8..52cedfbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -66,15 +66,6 @@ jobs: rm release/package.json rm release/*.map - - name: get-npm-version - id: package-version - uses: martinbeentjes/npm-get-version-action@v1.3.1 - - - name: Upload Equicord Tagged - if: startsWith(github.ref, 'refs/tags/') - run: | - gh release upload v${{ steps.package-version.outputs.current-version}} --clobber dist/release/* - - name: Upload Equicord Stable if: ${{ github.ref_name == 'main' }} run: | diff --git a/.github/workflows/nixosBuild.yml b/.github/workflows/nixosBuild.yml new file mode 100644 index 00000000..02f990e1 --- /dev/null +++ b/.github/workflows/nixosBuild.yml @@ -0,0 +1,71 @@ +name: NixOS Build +on: + schedule: + - cron: 0 0 * * * +env: + FORCE_COLOR: true + GITHUB_TOKEN: ${{ secrets.ETOKEN }} + +permissions: write-all + +jobs: + Build: + name: Build Equicord + runs-on: self-hosted + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v3 + + - name: Use Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --no-frozen-lockfile + + - name: Build web + run: pnpm buildWebStandalone + + - name: Build + run: pnpm buildStandalone + + - name: Generate plugin list + run: pnpm generatePluginJson dist/vencordplugins.json + + - name: Generate Equicord plugin list + run: pnpm generateEquicordPluginJson dist/equicordplugins.json + + - name: Collect files to be released + run: | + cd dist + mkdir release + + cp browser/browser.* release + cp Vencord.user.{js,js.LEGAL.txt} release + + # copy the plugin data jsons, the extension zips and the desktop/vesktop asars + cp *.{json,zip,asar} release + + # legacy un-asared files + cp desktop/* release + for file in equibop/*; do + filename=$(basename "$file") + cp "$file" "release/equibop${filename^}" + done + + find release -size 0 -delete + rm release/package.json + rm release/*.map + + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d')" + + - name: Upload Equicord Stable + run: | + gh release create ${{ steps.date.outputs.date }} --latest=false + gh release upload ${{ steps.date.outputs.date }} --clobber dist/release/*