rework the css (#915) #2137
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |