name: Release on: push: tags: - v* branches: - main env: FORCE_COLOR: true GITHUB_TOKEN: ${{ secrets.ETOKEN }} REPO: Equicord/Equibored USERNAME: GitHub-Actions permissions: write-all jobs: Build: name: Build Equicord runs-on: ubuntu-latest 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 --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 # FIXME: remove at some point cp desktop/* release for file in vesktop/*; do filename=$(basename "$file") cp "$file" "release/vencordDesktop${filename^}" done for file in equibop/*; do filename=$(basename "$file") cp "$file" "release/equicordDesktop${filename^}" done find release -size 0 -delete 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: | gh release upload latest --clobber dist/release/* - name: Upload Plugins JSON to Equibored repo run: | git config --global user.name "GitHub-Actions" git config --global user.email actions@github.com git clone https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git plugins cd plugins cp ../dist/release/*plugins.json . git add -A git commit -m "Plugins for https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA" git push --force https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git