Set main.yml environment variables (#1619) #538
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
name: abjad | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.12", "3.13"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Set environment variables | |
run: | | |
echo "PATH=/tmp/lilypond-2.25.22/bin:/home/runner/bin:$PATH" >> $GITHUB_ENV | |
echo "PYTHONUNBUFFERED=TRUE" >> $GITHUB_ENV | |
- name: Log environment variables | |
run: | | |
python --version | |
echo HOME: | |
echo $HOME | |
echo GITHUB_WORKSPACE: | |
echo $GITHUB_WORKSPACE | |
echo PATH: | |
echo $PATH | |
echo PYTHONPATH: | |
echo $PYTHONPATH | |
- name: Install LilyPond | |
run: | | |
lilypond_version=2.25.22 | |
lilypond_archive="lilypond-${lilypond_version}-linux-x86_64.tar.gz" | |
base_url="https://gitlab.com/lilypond/lilypond/-/releases" | |
lilypond_url="${base_url}/v${lilypond_version}/downloads/${lilypond_archive}" | |
echo "Downloading LilyPond from: ${lilypond_url}" | |
cd /tmp || { echo "Failed to change directory to /tmp"; exit 1; } | |
wget -q ${lilypond_url} | |
if [ ! -f "${lilypond_archive}" ]; then | |
echo "File download failed!" >&2 | |
exit 1 | |
fi | |
checksum="3e837e811aaa72323863925f0a4b5bd1aff1ed9b997e6c70dbe5c008e47872e7" | |
echo "${checksum} ${lilypond_archive}" > checksum.txt | |
if ! sha256sum -c checksum.txt --status; then | |
echo "Checksum verification failed!" >&2 | |
exit 1 | |
fi | |
rm checksum.txt | |
echo "Checksum verified successfully." | |
tar -xf "${lilypond_archive}" | |
- name: Install Abjad | |
run: | | |
python -m pip install --upgrade pip coverage | |
python -m pip install defusedxml | |
python -m pip install -e .[dev] | |
python -m pip install black==24.10.0 | |
python -m pip install flake8==7.1.1 | |
python -m pip install isort==5.13.2 | |
python -m pip install mypy==1.14.1 | |
python -m pip install pytest==8.3.4 | |
python -c "import abjad; print(abjad.Configuration().configuration_file_path)" | |
scr/prime-parser-tables | |
- name: Log dependency versions | |
run: | | |
black --version | |
flake8 --version | |
isort --version | |
mypy --version | |
pip --version | |
pytest --version | |
lilypond --version | |
- name: Run checks and tests | |
run: | | |
make black-check | |
make flake8 | |
make isort-check | |
make mypy | |
make pytest |