ci(build): use releases instead of pushing to repo

This build is identical to Bunny main's branch (as of the date this is pushed). This is to fix freezing issues on some devices.
This commit is contained in:
PalmDevs 2024-09-15 02:47:30 +07:00
parent 32afc78e0a
commit a878d0c39d
No known key found for this signature in database
GPG key ID: 81476AE7B70A0133

View file

@ -1,26 +1,25 @@
name: Build
on:
push:
branches: [main, dev]
paths-ignore:
- "**/*.md"
tags:
- "v*"
jobs:
build:
name: Build and push
name: Build and release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout builds
uses: actions/checkout@v4
with:
repository: "pyoncord/bunny-builds"
path: "builds"
token: ${{ secrets.BUILDS_TOKEN }}
ref: ${{ github.ref_name }}
- name: Set env
id: env
run: |
echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
echo "hash=$GITHUB_SHA" >> "$GITHUB_OUTPUT"
- uses: actions/setup-node@v4
with:
@ -29,25 +28,35 @@ jobs:
- name: Install pnpm and dependencies
run: |
npm i -g pnpm
pnpm i\
pnpm i
- name: Build
run: pnpm build --release-branch=${{ github.ref_name }} --build-minify
# TODO: Check for linting?
- name: Push builds
run: |
rm $GITHUB_WORKSPACE/builds/* || true
cp -r dist/* $GITHUB_WORKSPACE/builds || true
cd $GITHUB_WORKSPACE/builds
git config --local user.email "actions@github.com"
git config --local user.name "GitHub Actions"
git add .
git commit -m "Build $GITHUB_SHA" || exit 0
git push
- name: Purge CDN cache
run: |
curl https://purge.jsdelivr.net/gh/pyoncord/bunny-build-infos@${{ github.ref_name }}/bunny.js
- name: Create draft release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.env.outputs.tag }}
release_name: Revenge ${{ steps.env.outputs.tag }}
draft: true
prerelease: false
- name: Upload dist
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/revenge.js
asset_name: revenge.js
asset_content_type: text/javascript
- name: Publish release
uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.create_release.outputs.id }}