name: Update dependencies on: schedule: # Every Monday at 04:05 UTC # https://crontab.guru/#05_04_*_*_1 - cron: '05 04 * * 1' workflow_dispatch: inputs: environments: description: 'Test environments to update' required: false default: '' jobs: update: if: "github.repository == 'qutebrowser/qutebrowser'" timeout-minutes: 20 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: persist-credentials: false - name: Set up Python 3.8 uses: actions/setup-python@v4 with: python-version: '3.8' - name: Recompile requirements run: "python3 scripts/dev/recompile_requirements.py ${{ github.event.input.environments }}" id: requirements - name: Install apt dependencies run: | sudo apt-get update sudo apt-get install --no-install-recommends libyaml-dev libegl1-mesa libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-shape0 libxcb-cursor0 asciidoc python3-venv xvfb - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U -r misc/requirements/requirements-tox.txt - name: Run mkvenv.py run: "xvfb-run python3 scripts/mkvenv.py --dev" - name: Run qutebrowser smoke test run: "xvfb-run .venv/bin/python3 -m qutebrowser --no-err-windows --nowindow --temp-basedir about:blank ':later 500 quit'" - name: Create pull request uses: peter-evans/create-pull-request@v5 with: committer: qutebrowser bot author: qutebrowser bot token: ${{ secrets.QUTEBROWSER_BOT_TOKEN }} commit-message: Update dependencies title: Update dependencies body: | ## Changed files ${{ steps.requirements.outputs.changed }} ## Version updates ${{ steps.requirements.outputs.diff }} --- I'm a bot, bleep, bloop. :robot: branch: update-dependencies irc: timeout-minutes: 2 continue-on-error: true runs-on: ubuntu-latest needs: [update] if: "always() && github.repository == 'qutebrowser/qutebrowser'" steps: - name: Send success IRC notification uses: Gottox/irc-message-action@v2 if: "needs.update.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@v2 if: "needs.update.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 }})"