name: Release Stable on: push: branches: - main env: FORCE_COLOR: true GITHUB_TOKEN: ${{ secrets.ETOKEN }} permissions: write-all jobs: Date: name: Date runs-on: ubuntu-latest outputs: DATE: ${{ steps.combined.outputs.DATE }} TIME: ${{ steps.combined.outputs.TIME }} steps: - name: Get Month Day Year id: date uses: Kaven-Universe/github-action-current-date-time@v1 with: timezone-offset: 240 - name: Combine Time id: combined run: | echo "DATE=$YEAR/$MONTH/$DAY" >> $GITHUB_OUTPUT echo "TIME=$HOURS-$MINUTES-$SECONDS" >> $GITHUB_OUTPUT env: YEAR: ${{ steps.date.outputs.year }} MONTH: ${{ steps.date.outputs.month }} DAY: ${{ steps.date.outputs.day }} HOURS: ${{ steps.date.outputs.hours }} MINUTES: ${{ steps.date.outputs.minutes }} SECONDS: ${{ steps.date.outputs.seconds }} Build: name: Build Equicord Stable runs-on: ubuntu-latest needs: Date env: DATE: ${{ needs.Date.outputs.DATE }} TIME: ${{ needs.Date.outputs.TIME }} 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/allplugins.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: Upload Equicord Stable run: | gh release upload latest --clobber dist/release/* - name: Move Files To Date Time dir run: | mkdir -p $DATE/$TIME mv dist/release/* $DATE/$TIME cd $DATE/$TIME echo '$DATE/$TIME' >> time.txt - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: "buildStable" path: "$DATE/$TIME/*"