Skip to content

feat(esm): Support ESM in GQL Realtime setup and generation #1105

feat(esm): Support ESM in GQL Realtime setup and generation

feat(esm): Support ESM in GQL Realtime setup and generation #1105

Workflow file for this run

name: βš™οΈ CI
on:
pull_request:
push:
branches: ['next', 'release/**']
# Cancel in-progress runs of this workflow.
# See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
YARN_ENABLE_HARDENED_MODE: 0
jobs:
detect-changes:
if: github.repository == 'cedarjs/cedar'
name: πŸ” Detect changes
runs-on: ubuntu-latest
outputs:
code: ${{ steps.detect-changes.outputs.code }}
rsc: ${{ steps.detect-changes.outputs.rsc }}
ssr: ${{ steps.detect-changes.outputs.ssr }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up job
uses: ./.github/actions/set-up-job
with:
set-up-yarn-cache: false
yarn-install-directory: ./.github/actions/detect-changes
build: false
- name: πŸ” Detect changes
id: detect-changes
uses: ./.github/actions/detect-changes
check:
needs: detect-changes
if: needs.detect-changes.outputs.code == 'true'
name: βœ… Check constraints, dependencies, and package.json's
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up job
uses: ./.github/actions/set-up-job
with:
set-up-yarn-cache: false
yarn-install-directory: .
build: false
- name: βœ… Check constraints, dependencies, and package.json's
run: yarn check
formatting-check:
name: πŸ“ Check formatting (prettier)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up job
uses: ./.github/actions/set-up-job
with:
set-up-yarn-cache: false
yarn-install-directory: .
build: false
- name: πŸ“ Check formatting (prettier)
run: yarn format:check
build-lint-test:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ— Build, lint, test / ${{ matrix.os }} / node 20 latest
uses: ./.github/workflows/build-lint-test.yml
with:
os: ${{ matrix.os }}
tutorial-e2e:
needs: check
name: 🌲 Tutorial E2E / node 20 latest
uses: ./.github/workflows/tutorial-e2e.yml
smoke-tests:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ”„ Smoke tests / ${{ matrix.os }} / node 20 latest
uses: ./.github/workflows/smoke-tests-test.yml
with:
os: ${{ matrix.os }}
smoke-tests-react-18:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ”„ Smoke tests React 18 / ${{ matrix.os }} / node 20 latest
uses: ./.github/workflows/smoke-tests-react-18-test.yml
with:
os: ${{ matrix.os }}
cli-smoke-tests:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ”„ CLI smoke tests / ${{ matrix.os }} / node 20 latest
uses: ./.github/workflows/cli-smoke-tests.yml
with:
os: ${{ matrix.os }}
telemetry-check:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ”­ Telemetry check / ${{ matrix.os }} / node 20 latest
uses: ./.github/workflows/telemetry-check.yml
with:
os: ${{ matrix.os }}
rsc-smoke-tests:
needs: [check, detect-changes]
if: needs.detect-changes.outputs.rsc == 'true'
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ”„πŸ˜ RSC Smoke tests / ${{ matrix.os }}
uses: ./.github/workflows/rsc-smoke-tests.yml
with:
os: ${{ matrix.os }}
ssr-smoke-tests:
needs: [check, detect-changes]
if: needs.detect-changes.outputs.ssr == 'true'
strategy:
matrix:
# TODO: add `windows-latest`.
os: [ubuntu-latest]
name: πŸ” SSR Smoke tests / ${{ matrix.os }}
uses: ./.github/workflows/ssr-smoke-tests.yml
with:
os: ${{ matrix.os }}
fragments-smoke-tests:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: πŸ“„ Fragments Smoke tests / ${{ matrix.os }}
uses: ./.github/workflows/fragments-smoke-tests.yml
with:
os: ${{ matrix.os }}
create-cedar-app:
needs: check
name: 🌲 Create Cedar App
uses: ./.github/workflows/create-cedar-app-test.yml
server-tests:
needs: check
name: Server tests
uses: ./.github/workflows/server-tests.yml
background-jobs-e2e:
needs: check
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: Background jobs E2E test / ${{ matrix.os }}
uses: ./.github/workflows/background-jobs-e2e.yml
with:
os: ${{ matrix.os }}
ci-status-check:
needs:
- check
- build-lint-test
- tutorial-e2e
- smoke-tests
- smoke-tests-react-18
- cli-smoke-tests
- telemetry-check
- rsc-smoke-tests
- ssr-smoke-tests
- fragments-smoke-tests
- create-cedar-app
- server-tests
- background-jobs-e2e
if: always()
name: βœ… CI Status Check
runs-on: ubuntu-latest
steps:
- name: Evaluate previous job status
run: |
if [[ ${{ contains(needs.*.result, 'failure') }} == "true" ]]; then
echo "❌ One or more required jobs have failed"
exit 1
else
echo "βœ… All required jobs have passed or been skipped"
exit 0
fi