name: Prefer TypeScript on: push: branches: - "master" - "[0-9].[0-9]" paths: - "superset-frontend/src/**" pull_request: types: [synchronize, opened, reopened, ready_for_review] paths: - "superset-frontend/src/**" # cancel previous workflow jobs for PRs concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: true jobs: prefer_typescript: if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request' name: Prefer TypeScript runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" uses: actions/checkout@v4 with: persist-credentials: false submodules: recursive - name: Get changed files id: changed uses: ./.github/actions/file-changes-action with: githubToken: ${{ github.token }} - name: Determine if a .js or .jsx file was added id: check run: | js_files_added() { jq -r ' map( select( endswith(".js") or endswith(".jsx") ) ) | join("\n") ' ${HOME}/files_added.json } echo "js_files_added=$(js_files_added)" >> $GITHUB_OUTPUT - if: steps.check.outputs.js_files_added name: Add Comment to PR uses: ./.github/actions/comment-on-pr continue-on-error: true env: GITHUB_TOKEN: ${{ github.token }} with: msg: | ### WARNING: Prefer TypeScript Looks like your PR contains new `.js` or `.jsx` files: ``` ${{steps.check.outputs.js_files_added}} ``` As decided in [SIP-36](https://github.com/apache/superset/issues/9101), all new frontend code should be written in TypeScript. Please convert above files to TypeScript then re-request review.