name: 'esmeta test262' on: [pull_request] jobs: esmeta-test262: name: 'esmeta test262' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup JDK uses: actions/setup-java@v3 with: distribution: temurin java-version: 17 - name: Setup SBT uses: sbt/setup-sbt@v1 if: ${{ hashFiles('/usr/bin/sbt') == '' }} # https://www.peterbe.com/plog/how-to-run-workflow-step-if-a-file-exists - name: Add to PATH shell: bash run: | echo "ESMETA_HOME=$(pwd)/vendor/esmeta" >> $GITHUB_ENV - name: download esmeta run: | mkdir -p "${ESMETA_HOME}" git clone --branch v0.4.2 --depth 1 https://github.com/es-meta/esmeta.git "${ESMETA_HOME}" cd "${ESMETA_HOME}" && git submodule update --init --depth 1 - name: build esmeta working-directory: ${{ env.ESMETA_HOME }} run: sbt assembly - name: Identify new or changed tests id: changed_tests uses: tj-actions/changed-files@v45 with: files: test/ - name: run test262 if: steps.changed_tests.outputs.any_changed == 'true' env: CHANGED: ${{ steps.changed_tests.outputs.all_changed_files }} run: | echo New or modified test files: for file in $CHANGED; do echo $file done "${ESMETA_HOME}"/bin/esmeta test262-test -status -test262dir=$(pwd) $CHANGED