diff --git a/.github/workflows/curriculum-i18n.yml b/.github/workflows/curriculum-i18n.yml new file mode 100644 index 00000000000..7a97b5ec7f6 --- /dev/null +++ b/.github/workflows/curriculum-i18n.yml @@ -0,0 +1,70 @@ +name: CI - Node.js +env: + NODE_OPTIONS: '--max_old_space_size=6144' + +on: + # Run on push events, but only for the below branches + push: + branches: + - 'i18n-sync-curriculum' + workflow_dispatch: + +permissions: + contents: read + +jobs: + test-curriculum: + name: Test Curriculum + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + node-version: [20.x] + # Exclude the languages that we currently run in the full CI suite. + locale: + [ + 'chinese', + 'espanol', + 'ukrainian', + 'japanese', + 'german', + 'arabic', + 'swahili' + ] + steps: + - name: Checkout Source Files + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 + with: + node-version: ${{ matrix.node-version }} + cache: pnpm + + - name: Set Environment variables + run: | + cp sample.env .env + cat .env + + - name: Install node_modules + run: pnpm install + + # DONT REMOVE THIS STEP. + # TODO: Refactor and use re-usable workflow and shared artifacts + - name: Build Client in ${{ matrix.locale }} + env: + CURRICULUM_LOCALE: ${{ matrix.locale }} + CLIENT_LOCALE: ${{ matrix.locale }} + run: | + pnpm run build + + - name: Run Tests + env: + CURRICULUM_LOCALE: ${{ matrix.locale }} + CLIENT_LOCALE: ${{ matrix.locale }} + run: pnpm test:curriculum