name: (Runtime) Flow on: push: branches: [main] pull_request: paths-ignore: - 'compiler/**' jobs: discover_flow_inline_configs: name: Discover flow inline configs runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.result }} steps: - uses: actions/checkout@v4 - uses: actions/github-script@v7 id: set-matrix with: script: | const inlinedHostConfigs = require('./scripts/shared/inlinedHostConfigs.js'); return inlinedHostConfigs.map(config => config.shortName); flow: name: Flow check ${{ matrix.flow_inline_config_shortname }} needs: discover_flow_inline_configs runs-on: ubuntu-latest continue-on-error: true strategy: matrix: flow_inline_config_shortname: ${{ fromJSON(needs.discover_flow_inline_configs.outputs.matrix) }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 18.x cache: "yarn" cache-dependency-path: yarn.lock - name: Restore cached node_modules uses: actions/cache@v4 id: node_modules with: path: "**/node_modules" key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }} - run: yarn install --frozen-lockfile - run: node ./scripts/tasks/flow-ci ${{ matrix.flow_inline_config_shortname }}