name: Nightly Routine on: push: branches: [ main ] paths: - 'src/**' - 'scripts/**' - 'polyfills/**' - '.github/workflows/**' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - 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 uglify-js bash scripts/injectPolyfills.sh sed -i -e "s/nightly/nightly-$(git rev-parse HEAD | cut -c 1-7)/" src/index.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 with: fetch-depth: 0 - 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]} [[ $COPROC_PID ]] && kill $COPROC_PID timeout-minutes: 1 release: needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - 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 git push origin --delete nightly git tag nightly git push origin nightly gh release delete ${{ env.VERSION }} -y gh release create ${{ env.VERSION }} -t "Nightly" -n "$(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