name: NixOS Build on: workflow_dispatch: schedule: - cron: 0 0 * * * env: FORCE_COLOR: true GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} permissions: contents: write jobs: Build: name: Build Equicord runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Install dependencies run: bun install - name: Build web run: bun run buildWebStandalone - name: Build run: bun run buildStandalone - name: Generate plugin lists run: | bun run generatePluginJson dist/plugins.json bun run generateEquicordPluginJson dist/equicordplugins.json bun run generateVencordPluginJson dist/vencordplugins.json bun run generateDevsList dist/devs.json - name: Collect files to be released run: | cd dist mkdir release cp browser/browser.* release cp Equicord.user.{js,js.LEGAL.txt} release # copy the plugin data jsons, the extension zips and the desktop/equibop 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 "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT - name: Upload Equicord Stable if: ${{ vars.ACT == 'false' }} run: | gh release create ${{ steps.date.outputs.date }} --latest=false gh release upload ${{ steps.date.outputs.date }} --clobber dist/release/*