name: Update Test262 parser tests env: YARN_ENABLE_SCRIPTS: false # disable post-install scripts on: workflow_dispatch: inputs: {} schedule: - cron: "0 0 * * 5" jobs: createPullRequest: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/checkout@v2 with: repository: tc39/test262 path: build/test262 - name: Use Node.js latest uses: actions/setup-node@v2-beta with: node-version: "*" - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - uses: actions/cache@v2 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: yarn-${{ hashFiles('yarn.lock') }} restore-keys: | yarn- - name: Get latest test262 version id: test262 run: echo "::set-output name=sha1::$(sh ./scripts/parser-tests/get-test262-version.sh)" - name: Update test262 commit run: | echo ${{ steps.test262.outputs.sha1 }} | ./scripts/parser-tests/bump-test262-version.sh - name: Build babel parser run: | yarn install --immutable --mode=skip-build yarn gulp build-rollup - name: Update test262 allow list run: | make test-test262-update-allowlist - name: Commit changes run: | git config user.name "Babel Bot" git config user.email "babel-bot@users.noreply.github.com" git checkout -b update-test262-parser git commit -am "chore: update test262 to ${{ steps.test262.outputs.sha1 }}" git push --force origin update-test262-parser - name: Create Pull Request uses: actions/github-script@v4 with: github-token: ${{ secrets.BOT_TOKEN }} script: | const base = process.env.GITHUB_REF.replace("refs/heads/", ""); const requestParam = { owner: context.repo.owner, repo: context.repo.repo, head: context.repo.owner + ":update-test262-parser", base: base, state: "open" }; const result = await github.pulls.list(requestParam); console.log("Open PR request: ", requestParam); console.log("Open PR response: ", result); const prs = result.data; if (prs.length === 0) { const requestParam = { owner: context.repo.owner, repo: context.repo.repo, head: "update-test262-parser", base: base, maintainer_can_modify: true, title: "Update test262", body: "Update test262 to [${{ steps.test262.outputs.sha1 }}](https://github.com/tc39/test262/commit/${{ steps.test262.outputs.sha1 }}).", }; const result = await github.pulls.create(requestParam); console.log("Create PR request: ", requestParam) console.log("Create PR response: ", result); github.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: result.data.number, labels: ["area: test262", "repo automation :robot:"] }) }