docs: add wait-until non streaming #404
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests Node.js v18 | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '!*' | |
pull_request: | |
env: | |
NODE_VERSION: '18' | |
TURBO_REMOTE_ONLY: 'true' | |
TURBO_TEAM: 'vercel' | |
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
setup: | |
name: Find Changes | |
runs-on: ubuntu-latest | |
outputs: | |
tests: ${{ steps['set-tests'].outputs['tests'] }} | |
dplUrl: ${{ steps.waitForTarball.outputs.url }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: install pnpm@8.3.1 | |
run: npm i -g pnpm@8.3.1 | |
- run: pnpm install | |
- id: set-tests | |
run: | | |
TESTS_ARRAY=$(node utils/chunk-tests-18.js $SCRIPT_NAME) | |
echo "Files to test:" | |
echo "$TESTS_ARRAY" | |
echo "tests=$TESTS_ARRAY" >> $GITHUB_OUTPUT | |
- uses: patrickedqvist/wait-for-vercel-preview@bfdff514ff78a669f2536e9f4dd4ef5813a704a2 | |
id: waitForTarball | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
max_timeout: 360 | |
check_interval: 5 | |
test: | |
timeout-minutes: 120 | |
runs-on: ${{ matrix.runner }} | |
name: ${{matrix.scriptName}} (${{matrix.packageName}}, ${{matrix.chunkNumber}}, ${{ matrix.runner }}) | |
if: ${{ needs.setup.outputs['tests'] != '[]' }} | |
needs: | |
- setup | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJson(needs.setup.outputs['tests']) }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.nodeVersion || env.NODE_VERSION }} | |
# yarn 1.22.21 introduced a Corepack bug when running tests. | |
# this can be removed once https://github.com/yarnpkg/yarn/issues/9015 is resolved | |
- name: install yarn@1.22.19 | |
run: npm i -g yarn@1.22.19 | |
- name: install pnpm@8.3.1 | |
run: npm i -g pnpm@8.3.1 | |
- run: pnpm install | |
- name: Build ${{matrix.packageName}} and all its dependencies | |
run: node utils/gen.js && node_modules/.bin/turbo run build --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --include-dependencies --no-deps | |
env: | |
FORCE_COLOR: '1' | |
- name: Test ${{matrix.packageName}} | |
run: node utils/gen.js && node_modules/.bin/turbo run ${{matrix.testScript}} --summarize --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }} | |
shell: bash | |
env: | |
JEST_JUNIT_OUTPUT_FILE: ${{github.workspace}}/.junit-reports/${{matrix.scriptName}}-${{matrix.packageName}}-${{matrix.chunkNumber}}-${{ matrix.runner }}.xml | |
VERCEL_CLI_VERSION: ${{ needs.setup.outputs.dplUrl }}/tarballs/vercel.tgz | |
VERCEL_TEST_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }} | |
VERCEL_TEST_REGISTRATION_URL: ${{ secrets.VERCEL_TEST_REGISTRATION_URL }} | |
FORCE_COLOR: '1' | |
- name: 'Determine Turbo HIT or MISS' | |
if: ${{ !cancelled() }} | |
id: turbo-summary | |
shell: bash | |
run: | | |
TURBO_MISS_COUNT=`node utils/determine-turbo-hit-or-miss.js` | |
echo "MISS COUNT: $TURBO_MISS_COUNT" | |
echo "misses=$TURBO_MISS_COUNT" >> $GITHUB_OUTPUT | |
- name: 'Upload Test Report to Datadog' | |
if: ${{ steps['turbo-summary'].outputs.misses != '0' && !cancelled() }} | |
run: 'npx @datadog/datadog-ci@2.18.1 junit upload --service vercel-cli .junit-reports' | |
env: | |
DATADOG_API_KEY: ${{secrets.DATADOG_API_KEY_CLI}} | |
DD_ENV: ci | |
summary: | |
name: Summary | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
if: always() | |
needs: | |
- test | |
steps: | |
- name: Check All | |
run: |- | |
for status in ${{ join(needs.*.result, ' ') }} | |
do | |
if [ "$status" != "success" ] && [ "$status" != "skipped" ] | |
then | |
echo "Some checks failed" | |
exit 1 | |
fi | |
done |