diff options
Diffstat (limited to '.github/workflows/nightly.yml')
-rw-r--r-- | .github/workflows/nightly.yml | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 000000000..af13091c2 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,92 @@ +name: Nightly builds + +on: + workflow_dispatch: + schedule: + # Every day at 04:05 UTC + # https://crontab.guru/#05_04_*_*_* + - cron: '05 04 * * *' + +jobs: + pyinstaller: + if: "github.repository == 'qutebrowser/qutebrowser'" + strategy: + fail-fast: false + matrix: + include: + - os: macos-10.15 + - os: windows-2019 + args: --64bit + - os: windows-2019 + args: --32bit + - os: macos-10.15 + args: --debug + - os: windows-2019 + args: --64bit --debug + - os: windows-2019 + args: --32bit --debug + runs-on: "${{ matrix.os }}" + timeout-minutes: 30 + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.10" + - name: Get asciidoc + uses: actions/checkout@v2 + with: + repository: asciidoc-py/asciidoc-py + ref: '9.x' + path: asciidoc + persist-credentials: false + - name: Move asciidoc out of the repo + run: mv asciidoc .. + - name: Install dependencies + run: | + python -m pip install -U pip + python -m pip install -U -r misc/requirements/requirements-tox.txt + - name: Patch qutebrowser for debugging + if: "contains(matrix.args, '--debug')" + run: | + sed -i '' '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py + - name: Run tox + run: "tox -e build-release -- --asciidoc ../asciidoc/asciidoc.py --gh-token ${{ secrets.GITHUB_TOKEN }} ${{ matrix.args }}" + - name: Wait 90s to avoid upload errors + if: "contains(matrix.args, '--32bit')" + run: "sleep 90" + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: "qutebrowser-nightly-${{ github.sha }}" + path: | + dist/qutebrowser-*.dmg + dist/qutebrowser-*-windows-standalone-*.zip + dist/qutebrowser-*-*.exe + + irc: + timeout-minutes: 2 + continue-on-error: true + runs-on: ubuntu-20.04 + needs: [pyinstaller] + if: "always() && github.repository == 'qutebrowser/qutebrowser'" + steps: + - name: Send success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.pyinstaller.result == 'success'" + with: + server: irc.libera.chat + channel: '#qutebrowser-bots' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})" + - name: Send non-success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.pyinstaller.result != 'success'" + with: + server: irc.libera.chat + channel: '#qutebrowser-bots' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n + pyinstaller: ${{ needs.pyinstaller.result }}" |