Use pitch/alter to derive accid.ges #2738
Workflow file for this run
This file contains hidden or 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: Test Suite Evaluation | |
| on: | |
| pull_request: | |
| branches: [develop] | |
| # TODO: run this task only on PR in production; use push event for testing | |
| #push: | |
| #branches: | |
| # - '**' | |
| # globals | |
| env: | |
| # general settings | |
| MAIN_REPO_OWNER: rism-digital # Main repo owner (default: rism-digital; should not be changed) | |
| # build artifacts | |
| TOOLKIT_BUILD: toolkit-build | |
| # gh-pages | |
| GH_PAGES_REPO: ${{ github.repository_owner }}/verovio.org # works from rism-digital and from forks | |
| GH_PAGES_BRANCH: gh-pages | |
| # directories | |
| GH_PAGES_DIR: gh-pages-dir | |
| PR_DIR: pr-${{ github.event.pull_request.head.sha }} | |
| DEV_DIR: dev-dir | |
| TEMP_DIR: temp-dir | |
| jobs: | |
| ################################################### | |
| # Build the Python toolkit and run the test suite # | |
| ################################################### | |
| build_python: | |
| name: Build the test suite | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: FranzDiebold/github-env-vars-action@v2.9.0 | |
| - name: Get Short SHA | |
| run: | | |
| echo "SHORT_SHA=`echo ${{ github.event.pull_request.head.sha }} | cut -c1-7`" >> $GITHUB_ENV | |
| - name: Add additional environment variables for creating URL slugs | |
| run: | | |
| echo "OUTPUT_DIR=${{ github.event.pull_request.number }}/${{ env.SHORT_SHA }}" >> $GITHUB_ENV | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Checkout GH_PAGES_BRANCH into GH_PAGES_DIR | |
| uses: actions/checkout@v7.0.0 | |
| with: | |
| repository: ${{ env.GH_PAGES_REPO }} | |
| ref: ${{ env.GH_PAGES_BRANCH }} | |
| path: ${{ env.GH_PAGES_DIR }} | |
| submodules: recursive | |
| - name: Create directories and install packages | |
| working-directory: ${{ github.workspace }} | |
| run: | | |
| mkdir -p ${{ env.DEV_DIR }} | |
| mkdir -p ${{ env.PR_DIR }} | |
| mkdir -p ${{ env.TEMP_DIR }}/${{ env.DEV_DIR }} | |
| mkdir -p ${{ env.TEMP_DIR }}/${{ env.PR_DIR }} | |
| mkdir -p ${{ env.OUTPUT_DIR }} | |
| ls -alh | |
| ls -alh ${{ env.OUTPUT_DIR }} | |
| sudo apt-get install wireguard | |
| sudo echo "${{ secrets.VPN_CONFIGURATION }}" > wg0.conf | |
| python3 -m venv .venv-dev | |
| python3 -m venv .venv-pr | |
| .venv-dev/bin/python -m pip install --upgrade pip | |
| .venv-pr/bin/python -m pip install --upgrade pip | |
| .venv-dev/bin/python -m pip install build diffimg jsondiff lxml xmldiff cairosvg py_midicsv | |
| .venv-pr/bin/python -m pip install build diffimg jsondiff lxml xmldiff cairosvg py_midicsv | |
| - name: Checkout the dev branch | |
| uses: actions/checkout@v7.0.0 | |
| with: | |
| ref: develop | |
| path: ${{ env.DEV_DIR }}/ | |
| - name: Install the Leipzig font | |
| working-directory: ${{ github.workspace }}/${{ env.DEV_DIR }}/ | |
| run: | | |
| sudo cp ./fonts/Leipzig/Leipzig.ttf /usr/local/share/fonts | |
| sudo fc-cache -f -v | |
| - name: Build Python toolkit and run the tests for the dev branch | |
| working-directory: ${{ github.workspace }}/${{ env.DEV_DIR }} | |
| run: | | |
| ${{ github.workspace }}/.venv-dev/bin/python -m build --wheel | |
| ${{ github.workspace }}/.venv-dev/bin/python -m pip install dist/*.whl | |
| ${{ github.workspace }}/.venv-dev/bin/python doc/test-suite.py ${{ github.workspace }}/${{env.GH_PAGES_DIR}}/_tests ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.DEV_DIR }}/ | |
| ${{ github.workspace }}/.venv-dev/bin/python doc/test-suite.py ${{ github.workspace }}/${{env.GH_PAGES_DIR}}/musicxmlTestSuite ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.DEV_DIR }}/ | |
| - name: Checkout the PR | |
| uses: actions/checkout@v7.0.0 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| path: ${{ env.PR_DIR }}/ | |
| - name: Build Python toolkit and run the tests for the PR | |
| working-directory: ${{ github.workspace }}/${{ env.PR_DIR }} | |
| run: | | |
| ${{ github.workspace }}/.venv-pr/bin/python -m build --wheel | |
| ${{ github.workspace }}/.venv-pr/bin/python -m pip install dist/*.whl | |
| ${{ github.workspace }}/.venv-pr/bin/python doc/test-suite.py ${{ github.workspace }}/${{env.GH_PAGES_DIR}}/_tests ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.PR_DIR }}/ | |
| ${{ github.workspace }}/.venv-pr/bin/python doc/test-suite.py ${{ github.workspace }}/${{env.GH_PAGES_DIR}}/musicxmlTestSuite ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.PR_DIR }}/ | |
| - name: Compare the tests | |
| working-directory: ${{ github.workspace }}/${{ env.DEV_DIR }}/doc | |
| run: | | |
| ${{ github.workspace }}/.venv-dev/bin/python ./test-suite-diff.py ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.PR_DIR }}/ ${{ github.workspace }}/${{ env.TEMP_DIR }}/${{ env.DEV_DIR }}/ ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/ | |
| ls -al | |
| - name: Round-trip evaluation | |
| working-directory: ${{ github.workspace }}/${{ env.PR_DIR }} | |
| run: | | |
| ${{ github.workspace }}/.venv-pr/bin/python doc/test-suite-roundtrip.py ${{ github.workspace }}/${{env.GH_PAGES_DIR}}/_tests ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/ | |
| ls -al | |
| - name: Upload results as artefacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-suite-diff | |
| path: ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/ | |
| - name: Check existence of the log*.md files | |
| id: check_files | |
| uses: andstor/file-existence-action@v3 | |
| with: | |
| files: "${{ github.workspace }}/${{ env.OUTPUT_DIR }}/log*.md" | |
| - name: Show the list of changes detected | |
| if: steps.check_files.outputs.files_exists == 'true' | |
| run: | | |
| if [ -e ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/log.md ] | |
| then | |
| echo "This is the list of tests for which a PNG change has been detected:" | |
| cat ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/log.md | |
| fi | |
| if [ -e ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/log_midi.md ] | |
| then | |
| echo "This is the list of tests for which a MIDI change has been detected:" | |
| cat ${{ github.workspace }}/${{ env.OUTPUT_DIR }}/log_midi.md | |
| fi |