summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2022-06-21 20:45:20 +0200
committerFlorian Bruhin <me@the-compiler.org>2022-06-21 20:45:20 +0200
commit3ac1c8a7a37f2914a6b49f4349a6c65148783ec2 (patch)
tree7e6d0bcfa08ea99da0d6bee33a19e26905ec47ed
parentcf58c694e3a9289697ede33561ccb12b616b325e (diff)
downloadqutebrowser-3ac1c8a7a37f2914a6b49f4349a6c65148783ec2.tar.gz
qutebrowser-3ac1c8a7a37f2914a6b49f4349a6c65148783ec2.zip
ci: Split bleeding CI and nightly builds into two
-rw-r--r--.github/workflows/bleeding.yml67
-rw-r--r--.github/workflows/nightly.yml92
2 files changed, 96 insertions, 63 deletions
diff --git a/.github/workflows/bleeding.yml b/.github/workflows/bleeding.yml
index b2370357f..dc85f8b21 100644
--- a/.github/workflows/bleeding.yml
+++ b/.github/workflows/bleeding.yml
@@ -31,75 +31,16 @@ jobs:
run: "python scripts/dev/ci/problemmatchers.py py3 ${{ runner.temp }}"
- name: Run tox
run: dbus-run-session tox -e bleeding
-
- 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: [tests, pyinstaller]
+ needs: [tests]
if: "always() && github.repository == 'qutebrowser/qutebrowser'"
steps:
- name: Send success IRC notification
uses: Gottox/irc-message-action@v1
- if: "needs.tests.result == 'success' && needs.pyinstaller.result == 'success'"
+ if: "needs.tests.result == 'success'"
with:
server: irc.libera.chat
channel: '#qutebrowser-bots'
@@ -107,10 +48,10 @@ jobs:
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.tests.result != 'success' || needs.pyinstaller.result != 'success'"
+ if: "needs.tests.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
- tests: ${{ needs.tests.result }}, pyinstaller: ${{ needs.pyinstaller.result }}"
+ tests: ${{ needs.tests.result }}"
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 }}"