Implement QTI expression evaluation, response processing, and context composable #9269
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: Kolibri Build Assets for Pull Request | |
| on: pull_request | |
| jobs: | |
| prnumber: | |
| # The workflow_run event can't access the pull request | |
| # information unless the pull request comes from a non-fork | |
| # repository. Therefore to get the pull request information, | |
| # we need to store it as a workflow artifact in this workflow. | |
| # Implementation taken from: | |
| # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Save PR number | |
| env: | |
| PR_NUMBER: ${{ github.event.number }} | |
| run: | | |
| mkdir -p ./pr | |
| echo $PR_NUMBER > ./pr/pr_number | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: pr_number | |
| path: pr/ | |
| whl: | |
| name: Build WHL file | |
| uses: ./.github/workflows/build_whl.yml | |
| pex: | |
| name: Build PEX file | |
| needs: whl | |
| uses: ./.github/workflows/build_pex.yml | |
| with: | |
| whl-file-name: ${{ needs.whl.outputs.whl-file-name }} | |
| dmg: | |
| name: Build DMG file | |
| needs: whl | |
| uses: learningequality/kolibri-app/.github/workflows/build_mac.yml@v0.5.0 | |
| with: | |
| whl-file-name: ${{ needs.whl.outputs.whl-file-name }} | |
| ref: v0.5.0 | |
| deb: | |
| name: Build DEB file | |
| needs: whl | |
| uses: learningequality/kolibri-installer-debian/.github/workflows/build_deb.yml@v0.18.0 | |
| with: | |
| tar-file-name: ${{ needs.whl.outputs.tar-file-name }} | |
| ref: v0.16.1 | |
| exe: | |
| name: Build EXE file | |
| needs: whl | |
| uses: learningequality/kolibri-installer-windows/.github/workflows/build_exe.yml@v1.6.9 | |
| with: | |
| whl-file-name: ${{ needs.whl.outputs.whl-file-name }} | |
| ref: v1.6.9 | |
| apk: | |
| name: Build APK file | |
| needs: whl | |
| uses: learningequality/kolibri-installer-android/.github/workflows/build_apk.yml@v0.1.10 | |
| with: | |
| tar-file-name: ${{ needs.whl.outputs.tar-file-name }} | |
| ref: v0.1.10 | |
| zip: | |
| name: Build Raspberry Pi Image | |
| needs: deb | |
| uses: learningequality/kolibri-image-pi/.github/workflows/build_img.yml@v1.0.0 | |
| with: | |
| deb-file-name: ${{ needs.deb.outputs.deb-file-name }} | |
| ref: v1.0.0 | |
| browser_smoke_test: | |
| name: Browser smoke test | |
| needs: whl | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: ${{ needs.whl.outputs.whl-file-name }} | |
| path: dist | |
| - name: Install WHL file | |
| run: pip install dist/${{ needs.whl.outputs.whl-file-name }} | |
| - name: Install Playwright | |
| run: | | |
| pip install "playwright<2" | |
| playwright install --with-deps chromium | |
| - name: Run browser smoke test | |
| env: | |
| KOLIBRI_HOME: ${{ runner.temp }}/kolibri_home | |
| SCREENSHOT_PATH: ${{ runner.temp }}/smoke_test_screenshot.png | |
| working-directory: ${{ runner.temp }} | |
| run: python ${{ github.workspace }}/integration_testing/smoke_test.py | |
| - name: Upload screenshot | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: smoke_test_screenshot | |
| path: ${{ runner.temp }}/smoke_test_screenshot.png | |
| if-no-files-found: ignore | |
| test_whl_file: | |
| name: Test WHL file | |
| needs: whl | |
| strategy: | |
| matrix: | |
| python-version: [3.9, '3.10', '3.11', '3.12', '3.13', '3.14'] | |
| cext: [true, false] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: ${{ needs.whl.outputs.whl-file-name }} | |
| path: dist | |
| - name: Install WHL file | |
| run: pip install dist/${{ needs.whl.outputs.whl-file-name }} | |
| - name: Smoke test WHL file | |
| env: | |
| KOLIBRI_NO_C_EXTENSIONS: ${{ matrix.cext == false && '1' || '' }} | |
| run: kolibri configure setup | |
| test_whl_file_eol_python: | |
| name: Test WHL file with EOL Python versions | |
| needs: whl | |
| strategy: | |
| matrix: | |
| python-version: [3.6, 3.7, 3.8] | |
| cext: [true, false] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: python:${{ matrix.python-version }}-buster | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: ${{ needs.whl.outputs.whl-file-name }} | |
| path: dist | |
| - name: Install WHL file | |
| run: pip install dist/${{ needs.whl.outputs.whl-file-name }} | |
| - name: Smoke test WHL file | |
| env: | |
| KOLIBRI_NO_C_EXTENSIONS: ${{ matrix.cext == false && '1' || '' }} | |
| run: kolibri configure setup |