fix: image with flex #11321
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} | |
jobs: | |
sdks-base: | |
name: Gen 2 SDKs checks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: 📥 Monorepo install | |
uses: ./.github/actions/yarn-nm-install | |
with: | |
cache-node-modules: true | |
cache-install-state: true | |
- name: Run eslint | |
run: yarn workspace @builder.io/sdks eslint | |
- name: Typecheck | |
run: yarn nx typecheck @builder.io/sdks | |
- name: Run tests | |
run: yarn nx test @builder.io/sdks | |
- name: Lint changesets | |
run: yarn g:changeset version | |
sdks: | |
name: Gen 2 SDKs | |
runs-on: ubuntu-latest | |
strategy: | |
# we still want to run all the SDK tests even if one fails, to get a full picture of the state of the SDKs. | |
fail-fast: false | |
matrix: | |
e2e-server: | |
[ | |
'svelte', | |
'sveltekit', | |
'react-native', | |
'solid', | |
'solid-start', | |
'qwik-city', | |
'react', | |
'remix', | |
'hydrogen', | |
'react-sdk-next-pages', | |
'react-sdk-next-app', | |
'nextjs-sdk-next-app', | |
'vue', | |
'nuxt', | |
'angular', | |
'angular-ssr', | |
] | |
steps: | |
- name: Setup | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: 📥 Monorepo install | |
uses: ./.github/actions/yarn-nm-install | |
with: | |
cache-node-modules: true | |
cache-install-state: true | |
- name: Run E2E tests | |
run: yarn nx test @e2e/${{ matrix.e2e-server }} | |
- name: Upload Playwright Report | |
uses: actions/upload-artifact@v3 | |
# Only upload the report if the tests failed | |
if: ${{ failure() }} | |
with: | |
name: ${{ matrix.e2e-server }}-playwright-report | |
path: packages/sdks-tests/playwright-report/ | |
retention-days: 30 | |
sdks-snippets: | |
name: Gen 2 SDK Snippets | |
runs-on: ubuntu-latest | |
strategy: | |
# we still want to run all the SDK tests even if one fails, to get a full picture of the state of the SDKs. | |
fail-fast: false | |
matrix: | |
snippet: | |
[ | |
'vue', | |
'nuxt', | |
'react', | |
'angular', | |
'angular-ssr', | |
'qwik-city', | |
'nextjs-sdk-next-app', | |
'react-sdk-next-app', | |
'react-sdk-next-pages', | |
'svelte', | |
'sveltekit', | |
'solid', | |
'react-native', | |
] | |
steps: | |
- name: Setup | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: 📥 Monorepo install | |
uses: ./.github/actions/yarn-nm-install | |
with: | |
cache-node-modules: true | |
cache-install-state: true | |
- name: Run snippets tests | |
run: yarn nx test @snippet/${{ matrix.snippet }} | |
- name: Upload Playwright Report | |
uses: actions/upload-artifact@v3 | |
# Only upload the report if the tests failed | |
if: ${{ failure() }} | |
with: | |
name: ${{ matrix.snippet }}-snippet-playwright-report | |
path: packages/sdks-tests/playwright-report/ | |
retention-days: 30 | |
gen1-sdk-core: | |
name: Gen 1 SDK Core | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: 📥 Monorepo install | |
uses: ./.github/actions/yarn-nm-install | |
with: | |
cache-node-modules: true | |
cache-install-state: true | |
- name: Build Core | |
run: yarn nx build @builder.io/sdk | |
gen1-react-sdk: | |
name: Gen 1 React SDK | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
e2e-server: ['gen1-react', 'gen1-next', 'gen1-remix'] | |
steps: | |
- name: Setup | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: 📥 Monorepo install | |
uses: ./.github/actions/yarn-nm-install | |
with: | |
cache-node-modules: true | |
cache-install-state: true | |
- name: Run E2E tests | |
run: yarn nx test @e2e/${{ matrix.e2e-server }} | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
package: ['webcomponents', 'widgets'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use node version 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Get npm cache directory | |
id: npm-cache-dir | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v4 | |
id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true' | |
with: | |
path: ${{ steps.npm-cache-dir.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: NPM install | |
run: npm ci --legacy-peer-deps | |
working-directory: packages/${{ matrix.package }} | |
- name: Build | |
run: npm run ci:build --if-present | |
working-directory: packages/${{ matrix.package }} | |
- name: Test | |
run: npm run ci:test --if-present | |
working-directory: packages/${{ matrix.package }} |