Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
20770d0
Fix #24268 Progress not updating for Community Lessons after passing …
KartikSuryavanshi Mar 15, 2026
fc623ff
Fix part of #23496: Enforce type checks in group 22 (#24820)
vishakha1411 Mar 16, 2026
4227199
Fix #24588: Generate dummy chapters fails with "Entity for class Stor…
Irfan-Hussain107 Mar 16, 2026
df0c951
Fix #20274: Disallow future date selection in contributor certificate…
amkr6207 Mar 17, 2026
3f126be
Fix #24953: Add max character limit to Set Input button label (#25216)
manavmax Mar 17, 2026
855d8c2
Fix N/A: Update CI failure issue template. (#25159)
jayam04 Mar 17, 2026
edade98
Fix #22289: Ignore quoted PTAL comments and prevent self-assignment i…
SIRILEKKALA Mar 18, 2026
e5ff72c
Revert "Fix #22289: Ignore quoted PTAL comments and prevent self-assi…
U8NWXD Mar 20, 2026
e17900f
Fix #21285: Assert only stdout in start_subprocess_for_result tests (…
meedoomostafa Mar 20, 2026
e1f2818
Fix #24131: Add check to guard against unused i18n keys (#25220)
seanlip Mar 20, 2026
aa61ec3
Fix #24731 : Fix blog pagination for deleted authors (#24869)
kishansinghifs1 Mar 20, 2026
6e87cf2
Fix #22094: Add beam job to validate translation count mismatches (#2…
Rohan-Unbeg Mar 19, 2026
d159b69
Fix #24136: Fix average test case time calculation in backend test re…
arkia09 Mar 20, 2026
8d88a94
Fix#15761: RTE image widget dismissal on Esc (#25359)
rohanmalhotracodes Mar 20, 2026
2405253
Fix #18276: Add retry mechanism for failed emails using Cloud Tasks (…
AmiyaPiyush1 Mar 21, 2026
038c482
Fix N/A: Fixes a common flakes in frontend tests. (#25372)
jayam04 Mar 23, 2026
0741548
Fix #23155: Enable screen recording in mobile acceptance tests (#25485)
tanay235 Mar 23, 2026
fcee393
Revert "Fix #23683: Align learning progress checkpoint numbers" (#25480)
HardikGoyal2003 Mar 23, 2026
a6ef848
Fix #25245 : Created website banner for Financial Literacy Campaign (…
mosin74 Mar 23, 2026
eb568ce
Fixes part of #5176: Rename controller entity payload keys to *_dict …
rohanmalhotracodes Mar 24, 2026
4e6198f
Fixed #25585 InsertScriptService should insert script into html FAILE…
KartikSuryavanshi Mar 28, 2026
44e8828
Fix #24605: Migrate explorationTranslationTab E2E test to Puppeteer a…
Mohak51234 Mar 28, 2026
69980fa
Fix #24920: Fix mobile timeout flake in curriculum admin acceptance t…
AmiyaPiyush1 Mar 29, 2026
f0702c3
Compressed Image Size (#25623)
HardikGoyal2003 Mar 30, 2026
b33760d
Fix #18626: Update guppy-dev dependency for CapsLock input fix (#25526)
amkr6207 Mar 30, 2026
f9b476f
Fix #19417: Preserve current page on refresh for blog pagination (#24…
tanmaygoyal2007 Mar 31, 2026
7851e43
Fix #22779: Fix missing interaction bug when returning from stuck sta…
KURO-1125 Mar 31, 2026
519364e
Fix #23658: Ensure Pencil Code interaction loads correctly by waiting…
Amityush-lgtm Mar 31, 2026
773401c
Fix #24976: Display exploration tags in Preview Summary tile (#25089)
Harshvardhan-91 Mar 31, 2026
1227f29
Fix #18685: Drag drop interaction using keyboard when multiple items …
martinhorh Mar 31, 2026
bc9caa6
Fix #23711: Fix content overflow in learner view on mobile (#24916)
absharabi Mar 31, 2026
0068791
Fix #18545: Add RTL text alignment for Arabic translations in transla…
Harshvardhan-91 Mar 31, 2026
d69dde8
Fix #24119: Add print button to contributor certificates (#25029)
31puneet Mar 31, 2026
b1c89fc
fixes #24898: contributors icon misaligned and not showing contributo…
019-Abhi Mar 31, 2026
f4c9256
Fix #24601: Fix mobile card rendering for recommendation tiles in cre…
HimanshuKabra01 Apr 1, 2026
4fdfba2
Fixes #25278: Highlights sentences correctly during voiceover playbac…
Nik-09 Apr 1, 2026
f8c7fd2
Fix part of #19851: Worked example feature flag deprecation (#24330)
mon4our Apr 1, 2026
dd3bb47
Fix #25031: Pin develop SHA for backend coverage checks to ensure con…
Kundanmaurya1612 Apr 1, 2026
ddeccc4
Fix #24085: Update translation certificates to show word counts and t…
Rohan-Unbeg Apr 1, 2026
e51228f
Fix #21559: Add Beam jobs to cleanup duplicate translation suggestion…
Rohan-Unbeg Apr 2, 2026
bc73f6b
Adds beam job to synthesize voiceovers for all curated explorations (…
Nik-09 Apr 3, 2026
5d86bed
Fix #23325:Add linter check for rte_component_config_id values (#25561)
rohanmalhotracodes Apr 3, 2026
547753f
Fix #22315: UI Inconsistency on topic preview page (#25018)
HimanshuKabra01 Apr 3, 2026
469a0dd
Fix #20142: Improve clickability timeout diagnostics in Puppeteer tes…
Mohak51234 Apr 3, 2026
978f484
Fix #21974: Prevent crash when translation submit callback updates st…
amkr6207 Apr 3, 2026
d78cf96
Fix #25706: Remove the extra space after the April Financial campaign…
mosin74 Apr 3, 2026
5461422
fix(#24877): strip technical prefixes from voiceover upload errors (#…
meedoomostafa Apr 3, 2026
212b4b9
Fix #23999: Resolved E2E flakes where element is not clickable in com…
tanay235 Apr 4, 2026
835a349
Fix #23341, #23816: Correct contributor dashboard progress for non-re…
Rohan-Unbeg Apr 5, 2026
115bd83
Fix part of #23496: Enforce strict typescript checks for group 32 fil…
arkia09 Apr 4, 2026
ce5c736
Fix #24440: Increase Puppeteer navigation timeouts to 60s to reduce f…
KURO-1125 Apr 5, 2026
64ff846
Fix #21882: Return 400 for invalid algebraic answers (#25322)
amkr6207 Apr 5, 2026
22309dc
Fixes #22122: Fix translation review badges not showing due to incorr…
NITISH084 Apr 5, 2026
5f46334
Fix #20876: Add option to untag misconceptions from answer groups in …
Harshvardhan-91 Apr 6, 2026
0a852a6
Fix #25051: Add acceptance tests for contributor admin dashboard and …
Mohak51234 Apr 6, 2026
1822f4b
Fix #24030: Resolve flakiness in Math Classroom acceptance tests on m…
VirenPassi Apr 6, 2026
42674ff
Fix #25316: Improve layout, spacing, and responsiveness of the Add Go…
NITISH084 Apr 6, 2026
2c4323a
Fix #25277: Add position relative to state graph visualization contai…
arkia09 Apr 6, 2026
825b888
Fix #25317: Stabilize blog-post delete action in Puppeteer tests by u…
Mohak51234 Apr 6, 2026
59db3f2
Use actions/cache for storing build files (#25680)
kevintab95 Apr 7, 2026
e116db8
Update versions to 3.5.1 (#25764)
Nik-09 Apr 7, 2026
d8d37b1
Fix #23362: SVG editor cropping, auto-scaling, and text rendering (#2…
Rohan-Unbeg Apr 7, 2026
ba29020
Fix #23682 : Fix YouTube video embed broken due to recent YouTube pol…
tanmaygoyal2007 Apr 7, 2026
315bff7
Fix #24943: Correct background color display on Next Lesson button (#…
tanmaygoyal2007 Apr 8, 2026
c220fdf
Fixes #25174: Designs a new batched workflow for voiceover generation…
Nik-09 Apr 8, 2026
c81178a
Fix #24883 Removing the oppia lightweight root . (#25416)
Meeth-webdev Apr 8, 2026
1793c9e
Fix#25334 "Publish Chapters" took too long to be clickable (#25556)
PalakB09 Apr 8, 2026
55f7ce2
Fix #23308: fixed screenshot capture on local acceptance test failure…
tanay235 Apr 8, 2026
09e1576
Fix #25512 : Ambiguity in Search Functionality: Tag Selection vs Fre…
kishansinghifs1 Apr 8, 2026
be68c80
Fix#24107 :Remove duplicate keyword search button in blog page (#25761)
rohanmalhotracodes Apr 8, 2026
f8dfd0e
Fix part of #21308 to cover edge cases in backend code (#25113)
haani-maybe Apr 9, 2026
d15eb3f
Fix #24604 Add acceptance tests for explorationStatistics.js (#25195)
PalakB09 Apr 9, 2026
bb861ca
Fix #23905: Handle GitHub API rate limiting in url_open (#25303)
PalakB09 Apr 9, 2026
f5c88f5
Fix part of #21308: Improve backend controller branch coverage with t…
souravxbera Apr 12, 2026
88342e7
Fixes part of #16837: Adds beam jobs to mark stale instances of voice…
Nik-09 Apr 13, 2026
cf496c2
Fix #24093: Improved blog search to support searching by partial wor…
souravxbera Apr 14, 2026
832c5d6
Fix #20338: Resolve race condition in exploration metadata model save…
Aditya22-smart Apr 15, 2026
8429520
Adds beam job for voiceover synthesis by language accent (#25759)
Nik-09 Apr 15, 2026
34ff56b
Fix #22725: Fix contributor dashboard username label overlap (#25338)
rohanmalhotracodes Apr 15, 2026
0e029cf
Fix part of #23496: Enforce strict checks for group 20 and 21 files (…
rohanmalhotracodes Apr 16, 2026
65c2314
Fix #16667: Add frontend validation for negative selection counts in …
VirenPassi Apr 18, 2026
cd5d51d
Fix #25805: Resolve overlapping UI buttons on translation review moda…
AmiyaPiyush1 Apr 19, 2026
d54ae16
Fix part of #24149:migration of dependencies.json to package.json Par…
Yashbhu Apr 20, 2026
f416f32
Fix #24924: remove invalid ARIA menu roles and fix WCAG AA contrast v…
meedoomostafa Apr 20, 2026
de80f71
Fix #23302 and #24157: Replace can_create_topic with can_access_topic…
Mohak51234 Apr 20, 2026
8e352c1
Fix #25786 Fixing Not a prefix operator error (#25798)
Meeth-webdev Apr 20, 2026
168babf
Fixes prod ops issues filed during automated voiceover testing (#25856)
Nik-09 Apr 20, 2026
799de90
Fixes #25278: Text formatting to correctly highlight sentence during …
Nik-09 Apr 21, 2026
0b4ac11
Fix #25557: Wait for response modal to be visible before clicking (#2…
Mohak51234 Apr 21, 2026
63f3dd7
Fix #16358: Improve error message for invalid prefix operator (#25676)
Shravanikonde22 Apr 21, 2026
d0756d1
Fix #25792: Extracted study guide preprocessing in apply_change_list …
souravxbera Apr 22, 2026
ed633b4
Fix #21200 fixing waiting for selector div.modal-content (#25632)
Yashbhu Apr 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .gcloudignore
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ third_party/static/ckeditor-bootstrapck-1.0.0/skins/ckbuilder.jar/
third_party/static/ckeditor-bootstrapck-1.0.0/skins/bootstrapck/sample/
third_party/static/ckeditor-bootstrapck-1.0.0/skins/bootstrapck/scss/
third_party/static/fontawesome-free-5.9.0-web/
third_party/static/guppy-f509e1/site/
third_party/static/guppy-f509e1/test/
third_party/static/guppy-c1ef610/site/
third_party/static/guppy-c1ef610/test/
third_party/static/MathJax-2.7.5/docs/
third_party/static/MathJax-2.7.5/fonts/HTML-CSS/Gyre-Pagella/
third_party/static/MathJax-2.7.5/fonts/HTML-CSS/Gyre-Termes/
Expand Down
7 changes: 5 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
/core/templates/modules/ @oppia/lace-frontend-reviewers
/core/templates/pages/common-imports.ts @oppia/lace-frontend-reviewers
/core/templates/pages/oppia-root/ @oppia/lace-frontend-reviewers
/core/templates/pages/lightweight-oppia-root/ @oppia/lace-frontend-reviewers
/core/templates/i18n/ @oppia/lace-frontend-reviewers
/core/templates/services/contextual/logger.service.ts @oppia/lace-frontend-reviewers
/core/templates/services/contextual/logger.service.spec.ts @oppia/lace-frontend-reviewers
Expand Down Expand Up @@ -93,7 +92,7 @@
/core/templates/services/assets-backend-api.service*.ts @oppia/lace-frontend-reviewers
/core/templates/services/entity-translations.services.ts @oppia/lace-frontend-reviewers
/core/templates/services/entity-voiceovers.services.ts @oppia/lace-frontend-reviewers
/core/templates/services/voiceover-regeneration-task-mapping-service.ts @oppia/lace-frontend-reviewers
/core/templates/services/voiceover-regeneration-job-service.ts @oppia/lace-frontend-reviewers
/core/templates/services/voiceover-language-management-service.ts @oppia/lace-frontend-reviewers
/core/templates/services/automatic-voiceover-highlight-service.ts @oppia/lace-frontend-reviewers

Expand Down Expand Up @@ -304,6 +303,10 @@
/core/templates/domain/promo_bar/ @oppia/lace-frontend-reviewers
/core/templates/filters/ @oppia/lace-frontend-reviewers
/core/templates/services/attribution.service*.ts @oppia/lace-frontend-reviewers
/core/templates/components/campaign-banner/campaign-banner.component*.ts @oppia/lace-frontend-reviewers
/core/templates/components/campaign-banner/campaign-banner.component.html @oppia/lace-frontend-reviewers
/core/templates/components/campaign-banner/campaign-banner.component.css @oppia/lace-frontend-reviewers
/core/templates/components/campaign-banner/campaign-banner-module.ts @oppia/lace-frontend-reviewers


# Global frontend services
Expand Down
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/3_e2e_acceptance_error_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,19 @@ body:
[this wiki page](https://github.com/oppia/oppia/wiki/If-CI-checks-fail-on-your-PR)
and are filing this issue as part of the process described there.
Thanks!
- type: checkboxes
id: read-procedure
attributes:
label: I have read the procedure
description: >
Please confirm that you have read the note above by selecting the option
that best describes your situation.
options:
- label: I reproduced the flake on the develop branch.
- label: I observed this flake directly on the develop branch.
- label: The changes in my PR are unrelated to the failure.
validations:
required: true
- type: dropdown
id: ci-test-type
attributes:
Expand Down
63 changes: 14 additions & 49 deletions .github/actions/generate-build-files/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,55 +3,20 @@ description: 'Generate build files'
runs:
using: composite
steps:
- name: Attempt to download build files
id: download_artifact
uses: actions/download-artifact@v4
continue-on-error: true
- name: Restore build files from cache
id: restore_build_files_cache
uses: actions/cache@v4
with:
name: cached_build_files
path: /home/runner/work/oppia
- name: Unzip build files
if: steps.download_artifact.outcome != 'failure'
run: |
echo "Successfully downloaded build files"
pwd
ls -la
unzip build_files.zip
rm build_files.zip
echo "Files in ./:"
ls -la .
echo "Files in oppia_tools:"
ls -la oppia_tools
echo "Files in oppia:"
ls -la oppia
echo "Files in build:"
ls -la oppia/build
echo "Files in third_party:"
ls -la oppia/third_party
echo "Contents of requirements_dev.txt:"
cat ./oppia/requirements_dev.txt
echo "Contents of requirements.txt:"
cat ./oppia/requirements.txt
working-directory: /home/runner/work/oppia
shell: bash
key: ${{ runner.os }}-build-files-${{ github.sha }}
path: |
/home/runner/work/oppia/oppia/build
/home/runner/work/oppia/oppia/webpack_bundles
/home/runner/work/oppia/oppia/app.yaml
/home/runner/work/oppia/oppia/assets/hashes.json
/home/runner/work/oppia/oppia/backend_prod_files
/home/runner/work/oppia/oppia/dist
/home/runner/work/oppia/oppia/third_party/generated
- name: Build Webpack
if: steps.download_artifact.outcome == 'failure'
run: |
echo "Failed to download build files. Regenerating."
python -m scripts.build --prod_env
shell: bash
- name: Zip build files
# We avoid using ../ or absolute paths because unzip treats these as
# security issues and will refuse to follow them.
run: |
zip -rqy build_files.zip oppia/build oppia/webpack_bundles oppia/app.yaml oppia/assets/hashes.json oppia/backend_prod_files oppia/dist oppia/third_party/generated
working-directory: /home/runner/work/oppia
if: steps.restore_build_files_cache.outputs.cache-hit != 'true'
run: python -m scripts.build --prod_env
shell: bash
- name: Upload build files artifact
if: steps.download_artifact.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: cached_build_files
path: /home/runner/work/oppia/build_files.zip
retention-days: 7
overwrite: true
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
name: Merge develop and set up dependencies
description: 'Merge develop into current branch, and set up dependencies'
inputs:
merge_sha:
description: 'Specific commit SHA from develop to merge. If empty, falls back to latest develop.'
required: false
default: ''
runs:
using: composite
steps:
- name: Merge develop branch into the current branch
uses: ./.github/actions/merge
with:
merge_sha: ${{ inputs.merge_sha }}
- name: Setup Python 3.10.16
uses: actions/setup-python@v5
id: setup_python
Expand Down
14 changes: 12 additions & 2 deletions .github/actions/merge/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: 'Merge Source Branch into Base Branch'
description: 'Merge the PR source branch into its base branch, leaving the merge commit checked-out'
inputs:
merge_sha:
description: 'Specific commit SHA from develop to merge. If empty, falls back to latest develop.'
required: false
default: ''
runs:
using: 'composite'
steps:
Expand All @@ -20,7 +25,12 @@ runs:
git remote add source "https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git"
git remote add base "https://github.com/${{ github.repository }}.git"
git fetch source $GITHUB_HEAD_REF
git fetch base ${{ github.base_ref }}
git checkout base/${{ github.base_ref }}
if [ -n "${{ inputs.merge_sha }}" ]; then
git fetch base ${{ inputs.merge_sha }}
git checkout ${{ inputs.merge_sha }}
else
git fetch base ${{ github.base_ref }}
git checkout base/${{ github.base_ref }}
fi
git merge source/$GITHUB_HEAD_REF
shell: bash
26 changes: 26 additions & 0 deletions .github/workflows/all_lint_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,20 @@ concurrency:
|| github.ref || github.run_id }}
cancel-in-progress: true
jobs:
setup_merge_sha:
name: Capture develop SHA
runs-on: ubuntu-22.04
outputs:
develop_sha: ${{ steps.get_sha.outputs.sha }}
steps:
- name: Get latest develop SHA
id: get_sha
run: |
SHA=$(git ls-remote https://github.com/oppia/oppia.git refs/heads/develop | awk '{print $1}')
echo "sha=$SHA" >> "$GITHUB_OUTPUT"
backend_lint:
name: Backend
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -38,9 +50,14 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Third Party Size Check
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
run: python -m scripts.third_party_size_check
- name: Check Unused I18N Keys
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
run: python -m scripts.check_unused_i18n_keys
- name: Run Lint Checks
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
run: python -m scripts.linters.run_lint_checks --shard other --verbose
Expand All @@ -52,6 +69,7 @@ jobs:
webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}
frontend_lint:
name: Custom ESLint checks
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -63,6 +81,8 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Run ESLint Tests
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
run: python -m scripts.run_custom_eslint_tests
Expand All @@ -74,6 +94,7 @@ jobs:
webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}
frontend_formatter:
name: Frontend formatting with prettier
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -85,6 +106,8 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Prettify code
run: npx prettier --check .
- name: Explain how to fix the issue
Expand All @@ -98,6 +121,7 @@ jobs:
webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}
black_formatter:
name: Frontend formatting with prettier
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -109,6 +133,8 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Black formatting
run: black --check .
- name: Explain how to fix the issue
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/all_type_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,20 @@ concurrency:
|| github.ref || github.run_id }}
cancel-in-progress: true
jobs:
setup_merge_sha:
name: Capture develop SHA
runs-on: ubuntu-22.04
outputs:
develop_sha: ${{ steps.get_sha.outputs.sha }}
steps:
- name: Get latest develop SHA
id: get_sha
run: |
SHA=$(git ls-remote https://github.com/oppia/oppia.git refs/heads/develop | awk '{print $1}')
echo "sha=$SHA" >> "$GITHUB_OUTPUT"
backend_type_checks:
name: Backend
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -38,6 +50,8 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Run Mypy type checks
run: python -m scripts.run_mypy_checks
- name: Report failure if failed on oppia/oppia develop branch
Expand All @@ -48,6 +62,7 @@ jobs:
webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}
frontend_type_checks:
name: Frontend
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -59,6 +74,8 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Run typescript tests
run: python -m scripts.run_typescript_checks
- name: Run typescript tests in strict mode
Expand Down
27 changes: 25 additions & 2 deletions .github/workflows/backend_unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,20 @@ concurrency:
|| github.ref || github.run_id }}
cancel-in-progress: true
jobs:
setup_merge_sha:
name: Capture develop SHA
runs-on: ubuntu-22.04
outputs:
develop_sha: ${{ steps.get_sha.outputs.sha }}
steps:
- name: Get latest develop SHA
id: get_sha
run: |
SHA=$(git ls-remote https://github.com/oppia/oppia.git refs/heads/develop | awk '{print $1}')
echo "sha=$SHA" >> "$GITHUB_OUTPUT"
run_backend_associated_test_file_checks:
name: Verify associated test files
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -38,7 +50,10 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Run backend associated test file check

run: python -m scripts.check_backend_associated_test_file
- name: Report failure if failed on oppia/oppia develop branch
if: ${{ failure() && github.event_name == 'push' && github.repository == 'oppia/oppia' && github.ref == 'refs/heads/develop'}}
Expand All @@ -48,6 +63,7 @@ jobs:
webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}
run_tests:
name: Shard ${{ matrix.shard }}
needs: setup_merge_sha
runs-on: ubuntu-22.04
# Skip the job if we were only launched to cancel running jobs via the concurrency key above.
if: ${{ ! (
Expand All @@ -63,7 +79,10 @@ jobs:
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Run backend test shard

id: run_backend_test_shard
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
run: python -m scripts.run_backend_tests --generate_coverage_report --generate_time_report --ignore_coverage --exclude_load_tests --test_shard ${{ matrix.shard }}
Expand All @@ -89,13 +108,15 @@ jobs:
retention-days: 1
check_combined_coverage:
name: Check coverage
needs: run_tests
needs: [run_tests, setup_merge_sha]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository so that local actions can be used
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Download coverage report for shard 1
if: startsWith(github.head_ref, 'update-changelog-for-release') == false
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -150,13 +171,15 @@ jobs:
pull-requests: write
check_backend_test_times:
name: Check test times
needs: run_tests
needs: [run_tests, setup_merge_sha]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository so that local actions can be used
uses: actions/checkout@v4
- name: Merge develop and set up dependencies
uses: ./.github/actions/merge-develop-and-set-up-dependencies
with:
merge_sha: ${{ needs.setup_merge_sha.outputs.develop_sha }}
- name: Download time report for shard 1
uses: actions/download-artifact@v4
with:
Expand Down
Loading
Loading