name: Nightly on: push: branches: [ main ] paths: - 'src/**' - 'scripts/**' - 'polyfills/**' - '.github/workflows/**' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Node.js v16.x uses: actions/setup-node@v2 with: node-version: 16.x - name: Pack base asar run: | npm i -g asar bash scripts/injectPolyfills.sh sed -i -e "s/nightly/nightly-$(git rev-parse HEAD | cut -c 1-7)/" src/index.js node scripts/strip.js npx asar pack src app.asar - name: Upload artifact uses: actions/upload-artifact@v2 with: name: built-asar path: app.asar retention-days: 1 test: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Retrieve artifact uses: actions/download-artifact@v2 with: name: built-asar path: artifact - name: Extract artifact run: | cp artifact/app.asar . - name: Setup Node.js v16.x uses: actions/setup-node@v2 with: node-version: 16.x - name: Download Client with OpenAsar run: | wget "https://discord.com/api/download/canary?platform=linux&format=tar.gz" -O discord.tar.gz tar xf discord.tar.gz cp app.asar DiscordCanary/resources/app.asar - name: Check if Discord will startup run: | coproc { xvfb-run -e /dev/stdout ./DiscordCanary/DiscordCanary --enable-logging; } grep -m1 "Installing discord_rpc" <&${COPROC[0]} sleep 1 [[ $COPROC_PID ]] && kill $COPROC_PID timeout-minutes: 1 release: needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Retrieve artifact uses: actions/download-artifact@v2 with: name: built-asar path: artifact - name: Extract artifact run: | cp artifact/app.asar . - name: GitHub Release run: | git tag -d nightly || true git push origin --delete nightly || true git tag nightly git push origin nightly gh release delete ${{ env.VERSION }} -y || true gh release create ${{ env.VERSION }} -t "Nightly" -n "$(git rev-parse HEAD | cut -c 1-7) | $(git log -1 --pretty=%B)" ${{ env.FILES }} env: GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' VERSION: 'nightly' NAME: 'Nightly' #FILES: app.asar minified_testing_dont_use.asar FILES: app.asar