Skip to content

rework the css (#915) #2137

rework the css (#915)

rework the css (#915) #2137

Workflow file for this run

# This workflow file generates binaries for both Windows
# and OS X. However, https://github.com/actions/upload-artifact/issues/38
# that basically says that it won't ever preserve permissions.
# That means an archive in an archive since we need to preserve them
# on OS X. Still... better than doing this all by hand.
# yamllint disable rule:line-length
---
name: testing
on: [push] # yamllint disable-line rule:truthy
jobs:
testing-mac-11:
runs-on: macos-11
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: setup python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: install homebrew dependencies
run: |
brew update --preinstall || true
brew install pkg-config icu4c
- name: install python dependencies
run: |
export PATH="/usr/local/opt/icu4c/bin:/usr/local/opt/icu4c/sbin:${PATH}"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/opt/icu4c/lib/pkgconfig"
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
python3 -m pip install --upgrade pip
pip install ".[test,osspecials]"
pip uninstall -y nowplaying
versioningit --write
python setupnltk.py
- name: tests
shell: bash
env:
ACOUSTID_TEST_APIKEY: ${{ secrets.ACOUSTID_TEST_APIKEY }} # pragma: allowlist secret
DISCOGS_API_KEY: ${{ secrets.DISCOGS_API_KEY }} # pragma: allowlist secret
FANARTTV_API_KEY: ${{ secrets.FANARTTV_API_KEY }} # pragma: allowlist secret
THEAUDIODB_API_KEY: ${{ secrets.THEAUDIODB_API_KEY }} # pragma: allowlist secret
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # pragma: allowlist secret
run: |
if [[ -n "${ACOUSTID_TEST_APIKEY}" ]]; then
pushd /tmp
curl --location --output fpcalc.tgz \
https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-fpcalc-1.5.1-macos-x86_64.tar.gz
tar xvpf fpcalc.tgz
FPCALC=/tmp/chromaprint-fpcalc-1.5.1-macos-x86_64/fpcalc
export FPCALC
popd
fi
source /tmp/venv/bin/activate
pytest --durations=10 -s tests
- name: artifact mac test
uses: actions/upload-artifact@v3
if: always()
with:
name: mac-11-coverage
path: |
.coverage
.coverage.*
htmlcov
- name: coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: macos
run: |
source /tmp/venv/bin/activate
coveralls --service=github
testing-win:
runs-on: windows-2019
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: update tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: setup python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: install dependencies
run: |
python fix_win_ver.py
python -m pip install --upgrade pip
pip install ".[test,osspecials]"
pip uninstall -y nowplaying
versioningit --write
python setupnltk.py
- name: tests
shell: bash
env:
ACOUSTID_TEST_APIKEY: ${{ secrets.ACOUSTID_TEST_APIKEY }} # pragma: allowlist secret
DISCOGS_API_KEY: ${{ secrets.DISCOGS_API_KEY }} # pragma: allowlist secret
FANARTTV_API_KEY: ${{ secrets.FANARTTV_API_KEY }} # pragma: allowlist secret
THEAUDIODB_API_KEY: ${{ secrets.THEAUDIODB_API_KEY }} # pragma: allowlist secret
run: |
if [[ -n "${ACOUSTID_TEST_APIKEY}" ]]; then
pushd /tmp
curl --location --output fpcalc.zip \
https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-fpcalc-1.5.1-windows-x86_64.zip
unzip fpcalc.zip
FPCALC=/tmp/chromaprint-fpcalc-1.5.1-windows-x86_64/fpcalc.exe
export FPCALC
popd
fi
pytest --durations=10 -s tests
- name: artifact windows test
uses: actions/upload-artifact@v3
if: always()
with:
name: win-coverage
path: |
.coverage
.coverage.*
htmlcov
- name: coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: windows
run: |
coveralls --service=github
testing-linux:
runs-on: ubuntu-latest
env:
DISPLAY: ':99.0'
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: setup python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: setup X11xvfb
run: |
sudo apt install \
libxcb-cursor0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-shape0 \
libxcb-xfixes0 \
libxcb-xinerama0 \
libxkbcommon-x11-0 \
x11-utils
/sbin/start-stop-daemon \
--start --quiet \
--pidfile /tmp/custom_xvfb_99.pid \
--make-pidfile --background \
--exec /usr/bin/Xvfb -- :99 \
-screen 0 1920x1200x24 -ac +extension GLX
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
--no-install-recommends \
--no-install-suggests \
libchromaprint-tools \
libdbus-1-dev \
libegl1 \
python3-dbus \
python3-pip
#
#
# dbus breaks venv so just skip it
# since we are just doing unit tests
#
#
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
python3 -m pip install --upgrade pip
pip install ".[test,osspecials]"
pip uninstall -y nowplaying
versioningit --write
python setupnltk.py
- name: tests
shell: bash
env:
ACOUSTID_TEST_APIKEY: ${{ secrets.ACOUSTID_TEST_APIKEY }} # pragma: allowlist secret
DISCOGS_API_KEY: ${{ secrets.DISCOGS_API_KEY }} # pragma: allowlist secret
FANARTTV_API_KEY: ${{ secrets.FANARTTV_API_KEY }} # pragma: allowlist secret
THEAUDIODB_API_KEY: ${{ secrets.THEAUDIODB_API_KEY }} # pragma: allowlist secret
run: |
if [[ -n "${ACOUSTID_TEST_APIKEY}" ]]; then
pushd /tmp
FPCALC=/usr/bin/fpcalc
export FPCALC
popd
fi
source /tmp/venv/bin/activate
pytest --durations=10 -s
- name: artifact linux test
uses: actions/upload-artifact@v3
if: always()
with:
name: linux-coverage
path: |
.coverage
.coverage.*
htmlcov
- name: coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: linux
run: |
source /tmp/venv/bin/activate
coveralls --service=github
merge:
if: always()
needs:
- testing-mac-11
- testing-win
- testing-linux
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: setup python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: install dependencies
run: |
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
python3 -m pip install --upgrade pip
pip install ".[test]"
- name: download coverage files
uses: actions/download-artifact@v3
with:
path: artifacts
- name: display artifacts
run: ls -aR
working-directory: artifacts
- name: merge coverage files
run: |
source /tmp/venv/bin/activate
coverage combine artifacts/*/.coverage artifacts/*/.coverage.*
coverage html
- name: artifact full tests
uses: actions/upload-artifact@v3
if: always()
with:
name: full-coverage
path: |
.coverage
htmlcov
- name: coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
run: |
source /tmp/venv/bin/activate
coveralls --service=github --finish