mirror of
https://github.com/beetbox/beets.git
synced 2026-07-19 16:56:58 -04:00
67 lines
2.0 KiB
YAML
67 lines
2.0 KiB
YAML
name: integration tests
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 0 * * SUN" # run every Sunday at midnight
|
|
|
|
env:
|
|
PYTHON_VERSION: "3.10"
|
|
|
|
jobs:
|
|
test_integration:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v8.1.0
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install --yes --no-install-recommends \
|
|
ffmpeg \
|
|
gobject-introspection \
|
|
gstreamer1.0-plugins-base \
|
|
imagemagick \
|
|
libcairo2-dev \
|
|
libgirepository-2.0-dev \
|
|
mp3gain \
|
|
pandoc \
|
|
python3-gst-1.0
|
|
|
|
- name: Install Python tools
|
|
run: uv tool install "poethepoet>=0.26,<0.47.0"
|
|
|
|
- name: Install dependencies
|
|
run: poe install --group test --extra autobpm --extra discogs --extra lyrics --extra replaygain --extra reflink --extra fetchart --extra chroma --extra sonosupdate --group docs
|
|
|
|
- name: Test
|
|
env:
|
|
INTEGRATION_TEST: 1
|
|
LYRICS_UPDATED: 1
|
|
run: |
|
|
poe docs
|
|
poe test
|
|
|
|
- name: Check external links in docs
|
|
run: poe check-docs-links
|
|
|
|
- name: Notify on failure
|
|
if: ${{ failure() }}
|
|
env:
|
|
ZULIP_BOT_CREDENTIALS: ${{ secrets.ZULIP_BOT_CREDENTIALS }}
|
|
run: |-
|
|
if [ -z "${ZULIP_BOT_CREDENTIALS}" ]; then
|
|
echo "Skipping notify, ZULIP_BOT_CREDENTIALS is unset"
|
|
exit 0
|
|
fi
|
|
|
|
curl -X POST https://beets.zulipchat.com/api/v1/messages \
|
|
-u "${ZULIP_BOT_CREDENTIALS}" \
|
|
-d "type=stream" \
|
|
-d "to=github" \
|
|
-d "subject=${GITHUB_WORKFLOW} - $(date -u +%Y-%m-%d)" \
|
|
-d "content=[${GITHUB_WORKFLOW}#${GITHUB_RUN_NUMBER}](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}) failed."
|