From 36be968ed46dacfb0d67818602dd96223a0e9a23 Mon Sep 17 00:00:00 2001 From: Luis Rodriguez Date: Thu, 1 May 2025 07:47:39 -0500 Subject: [PATCH 1/8] Refactor GridItem flexBasisValue calculation logic --- .../core-components/nativewind/grid/index.tsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/example/storybook-nativewind/src/core-components/nativewind/grid/index.tsx b/example/storybook-nativewind/src/core-components/nativewind/grid/index.tsx index 3270278f03..64bc8c400d 100644 --- a/example/storybook-nativewind/src/core-components/nativewind/grid/index.tsx +++ b/example/storybook-nativewind/src/core-components/nativewind/grid/index.tsx @@ -251,10 +251,6 @@ type IGridItemProps = ViewProps & const GridItem = forwardRef, IGridItemProps>( function GridItem({ className, _extra, ...props }, ref) { - const [flexBasisValue, setFlexBasisValue] = useState< - number | string | null - >('auto'); - const { calculatedWidth, numColumns, @@ -269,7 +265,7 @@ const GridItem = forwardRef, IGridItemProps>( generateResponsiveColSpans({ gridItemClassName: gridItemClass }) ) ?? 1) as number; - useEffect(() => { + const flexBasisValue = useMemo(() => { if ( !flexDirection?.includes('column') && calculatedWidth && @@ -291,18 +287,17 @@ const GridItem = forwardRef, IGridItemProps>( ? 2 : rowColsCount - 1); - const flexBasisVal = + return ( Math.min( (((calculatedWidth - gutterOffset) * responsiveColSpan) / numColumns / calculatedWidth) * - 100, - 100 - ) + '%'; - - setFlexBasisValue(flexBasisVal); + 100, + 100, + ) + '%' + ); } - // eslint-disable-next-line react-hooks/exhaustive-deps + return 'auto'; }, [ calculatedWidth, responsiveColSpan, @@ -310,6 +305,8 @@ const GridItem = forwardRef, IGridItemProps>( columnGap, gap, flexDirection, + itemsPerRow, + props?.index, ]); return ( From c973f64e5648f6913372bc1f80f691f3b78bdf6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Zbi=C5=84ski?= Date: Fri, 30 May 2025 09:45:00 +0200 Subject: [PATCH 2/8] fix(nativewind-utils): correct TVConfig import --- packages/nativewind/utils/tva/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nativewind/utils/tva/index.ts b/packages/nativewind/utils/tva/index.ts index b2a988fa37..96b341e085 100644 --- a/packages/nativewind/utils/tva/index.ts +++ b/packages/nativewind/utils/tva/index.ts @@ -1,5 +1,5 @@ import type { TVA } from '../types'; -import type { TVConfig } from 'tailwind-variants/dist/config'; +import type { TVConfig } from 'tailwind-variants/dist/config.d.ts'; import { deepMergeObjects } from '../utils/deepMerge'; // @ts-ignore import { tv } from 'tailwind-variants'; From e6b427150b35e97a089ea10409de8c5c52f8a7b9 Mon Sep 17 00:00:00 2001 From: Sanket Sahu Date: Fri, 13 Jun 2025 12:28:08 +0530 Subject: [PATCH 3/8] Emptied discussion-to-slack.yml --- .github/workflows/discussion-to-slack.yml | 39 ----------------------- 1 file changed, 39 deletions(-) diff --git a/.github/workflows/discussion-to-slack.yml b/.github/workflows/discussion-to-slack.yml index c175487107..8b13789179 100644 --- a/.github/workflows/discussion-to-slack.yml +++ b/.github/workflows/discussion-to-slack.yml @@ -1,40 +1 @@ -name: Discussion to Slack Notification -on: - discussion: - types: [created] - -jobs: - notify-slack: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Get discussion details - id: discussion-details - run: | - echo "title=${{ github.event.discussion.title }}" >> $GITHUB_OUTPUT - echo "body=${{ github.event.discussion.body }}" >> $GITHUB_OUTPUT - echo "url=${{ github.event.discussion.html_url }}" >> $GITHUB_OUTPUT - echo "author=${{ github.event.discussion.user.login }}" >> $GITHUB_OUTPUT - echo "category=${{ github.event.discussion.category.name }}" >> $GITHUB_OUTPUT - - - name: Post to Slack channel - id: slack - uses: slackapi/slack-github-action@v1.23.0 - with: - channel-id: ${{ secrets.SLACK_CHANNEL_ID }} - slack-message: | - :speech_balloon: New Discussion Created :speech_balloon: - *Title:* ${{ steps.discussion-details.outputs.title }} - *Author:* ${{ steps.discussion-details.outputs.author }} - *Category:* ${{ steps.discussion-details.outputs.category }} - *Link:* ${{ steps.discussion-details.outputs.url }} - - *Discussion Body:* - ``` - ${{ steps.discussion-details.outputs.body }} - ``` - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} From 1c67f9cdccfdc0e39a3f3d7bb168bb44ff5881e2 Mon Sep 17 00:00:00 2001 From: Sanchitv3 Date: Thu, 26 Jun 2025 17:50:18 +0530 Subject: [PATCH 4/8] feat: added workflows for nightly package --- .github/workflows/expo-latest-nightly.yml | 105 ++++++++++++++ .github/workflows/next-latest-nightly.yml | 98 +++++++++++++ .github/workflows/vercel-deployments.yml | 164 ++++++++++++++++++++++ 3 files changed, 367 insertions(+) create mode 100644 .github/workflows/expo-latest-nightly.yml create mode 100644 .github/workflows/next-latest-nightly.yml create mode 100644 .github/workflows/vercel-deployments.yml diff --git a/.github/workflows/expo-latest-nightly.yml b/.github/workflows/expo-latest-nightly.yml new file mode 100644 index 0000000000..677529f4c3 --- /dev/null +++ b/.github/workflows/expo-latest-nightly.yml @@ -0,0 +1,105 @@ +name: Expo Latest + +on: + push: + branches: [ feat/v3 ] + pull_request: + branches: [ feat/v3 ] + schedule: + - cron: '0 0 * * *' # Run daily at midnight UTC + +jobs: + check-expo-version: + runs-on: macos-latest + outputs: + should_run: ${{ steps.check.outputs.should_run }} + latest_version: ${{ steps.check.outputs.latest_version }} + steps: + - id: check + run: | + LATEST=$(npm view expo version) + CURRENT=$(cat .expo-version 2>/dev/null || echo "") + if [ "$LATEST" != "$CURRENT" ]; then + echo "should_run=true" >> $GITHUB_OUTPUT + echo "latest_version=$LATEST" >> $GITHUB_OUTPUT + echo $LATEST > .expo-version + else + echo "should_run=false" >> $GITHUB_OUTPUT + fi + test-expo-latest: + needs: check-expo-version + if: ${{ needs.check-expo-version.outputs.should_run == 'true' || github.event_name == 'push' || github.event_name == 'pull_request' }} + runs-on: macos-latest + name: Expo latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + - name: Create Expo project + run: | + npx create-expo-app@latest test-app + cd test-app + - name: Install dependencies + working-directory: test-app + run: | + npm install react-native-web react-dom @expo/metro-runtime + - name: Install gluestack-ui + working-directory: test-app + run: | + npx gluestack-ui-nightly init --template-only --projectType expo + npx gluestack-ui-nightly add --all + npx tailwindcss -i ./global.css -o ./node_modules/.cache/nativewind/global.css + - name: Add Button component + working-directory: test-app + run: | + mkdir -p app/\(tabs\) + cat < app/\(tabs\)/index.tsx + import React from 'react'; + import { View } from 'react-native'; + import { Button, ButtonText } from '@/components/ui/button'; + export default function App() { + return ( + + + + ); + } + EOT + - name: Start Expo web app + working-directory: test-app + run: | + npm run web & sleep 30 + - name: Check if button is rendered + run: | + echo "First curl attempt:" + curl -s http://localhost:8081 | tee curl_output_1.log + echo "Waiting for 30 seconds..." + sleep 30 + echo "Second curl attempt:" + curl -s http://localhost:8081 | tee curl_output_2.log + echo "Searching for 'Hello World!' in the output:" + if grep -q "Hello World!" curl_output_1.log || grep -q "Hello World!" curl_output_2.log; then + echo "Button found on the page" + exit 0 + else + echo "Button not found on the page" + exit 1 + fi + notify: + needs: test-expo-latest + if: always() && github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + runs-on: macos-latest + steps: + - name: Slack Notification + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + text: 'Expo Latest Test: ${{ job.status }}' + fields: repo,commit,action,eventName + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} \ No newline at end of file diff --git a/.github/workflows/next-latest-nightly.yml b/.github/workflows/next-latest-nightly.yml new file mode 100644 index 0000000000..d6321011c0 --- /dev/null +++ b/.github/workflows/next-latest-nightly.yml @@ -0,0 +1,98 @@ +name: Next.js Latest + +on: + push: + branches: [feat/v3] + pull_request: + branches: [feat/v3] + schedule: + - cron: '0 0 * * *' # Run daily at midnight UTC + +jobs: + check-next-version: + runs-on: ubuntu-latest + outputs: + should_run: ${{ steps.check.outputs.should_run }} + latest_version: ${{ steps.check.outputs.latest_version }} + steps: + - id: check + run: | + LATEST=$(npm view next version) + CURRENT=$(cat .next-version 2>/dev/null || echo "") + echo "Latest version: $LATEST" + echo "Current version: $CURRENT" + if [ "$LATEST" != "$CURRENT" ]; then + echo "should_run=true" >> $GITHUB_OUTPUT + echo "latest_version=$LATEST" >> $GITHUB_OUTPUT + echo $LATEST > .next-version + else + echo "should_run=false" >> $GITHUB_OUTPUT + fi + + test-next-latest: + needs: check-next-version + if: ${{ needs.check-next-version.outputs.should_run == 'true' || github.event_name == 'push' || github.event_name == 'pull_request' }} + runs-on: ubuntu-latest + name: Next.js latest + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Print Environment Info + run: | + node -v + npm -v + cat .next-version || echo ".next-version file not found" + + - name: Set Git identity + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + - name: Create Next.js project from create-command + run: | + npx create-gluestack-nightly@latest test-app --next-app-router + cd test-app + + - name: Build Next.js app + working-directory: test-app + env: + NEXT_TELEMETRY_DISABLED: 1 + run: | + npm run build + + - name: Start Next.js app + working-directory: test-app + run: | + npm run start & + sleep 20 + + - name: Fetch and Log Server Response + run: | + curl -s http://localhost:3000 || echo "Failed to reach the server" + curl -s http://localhost:3000 > server_response.html + cat server_response.html + + - name: Check if text is rendered + run: | + RESPONSE=$(curl -s http://localhost:3000) + echo "$RESPONSE" | grep -q "Get started by editing" && echo "text found" || (echo "text not found" && exit 1) + + notify: + needs: test-next-latest + if: always() && github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + runs-on: ubuntu-latest + steps: + - name: Slack Notification + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + text: 'Next.js Latest Test: ${{ job.status }}' + fields: repo,commit,action,eventName + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} \ No newline at end of file diff --git a/.github/workflows/vercel-deployments.yml b/.github/workflows/vercel-deployments.yml new file mode 100644 index 0000000000..e838e969a7 --- /dev/null +++ b/.github/workflows/vercel-deployments.yml @@ -0,0 +1,164 @@ +name: Vercel Deployments + +on: + push: + branches: [feat/v3] + pull_request: + branches: [feat/v3] + +jobs: + deploy-kitchen-sink: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Install dependencies + run: npm install + + - name: Deploy to Vercel (Production) + if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + working-directory: ./apps/kitchen-sink + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name kitchen-sink + + - name: Deploy to Vercel (Preview) + if: github.event_name == 'pull_request' + working-directory: ./apps/kitchen-sink + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name kitchen-sink + + deploy-todo-app: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Install dependencies + run: npm install + + - name: Deploy to Vercel (Production) + if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + working-directory: ./apps/todo-app + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name todo-app + + - name: Deploy to Vercel (Preview) + if: github.event_name == 'pull_request' + working-directory: ./apps/todo-app + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name todo-app + + deploy-starter-kit-expo: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Install dependencies + run: npm install + + - name: Deploy to Vercel (Production) + if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + working-directory: ./apps/starter-kit-expo + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name starter-kit-expo + + - name: Deploy to Vercel (Preview) + if: github.event_name == 'pull_request' + working-directory: ./apps/starter-kit-expo + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name starter-kit-expo + + deploy-starter-kit-next: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Install dependencies + run: npm install + + - name: Deploy to Vercel (Production) + if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' + working-directory: ./apps/starter-kit-next + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name starter-kit-next + + - name: Deploy to Vercel (Preview) + if: github.event_name == 'pull_request' + working-directory: ./apps/starter-kit-next + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + run: | + vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ + --build-env NODE_OPTIONS="--max-old-space-size=4096" \ + --name starter-kit-next From 9ea046242a31a91e12a7feb35ddda5ddb3f39d1d Mon Sep 17 00:00:00 2001 From: Sanchitv3 Date: Thu, 26 Jun 2025 18:11:21 +0530 Subject: [PATCH 5/8] chore:flag wasn't properly reading the environment variable --- .github/workflows/vercel-deployments.yml | 32 ++++++------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/.github/workflows/vercel-deployments.yml b/.github/workflows/vercel-deployments.yml index e838e969a7..82ea35d6d8 100644 --- a/.github/workflows/vercel-deployments.yml +++ b/.github/workflows/vercel-deployments.yml @@ -31,9 +31,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name kitchen-sink + vercel --prod --yes --scope $VERCEL_ORG_ID --name kitchen-sink - name: Deploy to Vercel (Preview) if: github.event_name == 'pull_request' @@ -42,9 +40,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name kitchen-sink + vercel --yes --scope $VERCEL_ORG_ID --name kitchen-sink deploy-todo-app: runs-on: ubuntu-latest @@ -70,9 +66,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name todo-app + vercel --prod --yes --scope $VERCEL_ORG_ID --name todo-app - name: Deploy to Vercel (Preview) if: github.event_name == 'pull_request' @@ -81,9 +75,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name todo-app + vercel --yes --scope $VERCEL_ORG_ID --name todo-app deploy-starter-kit-expo: runs-on: ubuntu-latest @@ -109,9 +101,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name starter-kit-expo + vercel --prod --yes --scope $VERCEL_ORG_ID --name starter-kit-expo - name: Deploy to Vercel (Preview) if: github.event_name == 'pull_request' @@ -120,9 +110,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name starter-kit-expo + vercel --yes --scope $VERCEL_ORG_ID --name starter-kit-expo deploy-starter-kit-next: runs-on: ubuntu-latest @@ -148,9 +136,7 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --prod --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name starter-kit-next + vercel --prod --yes --scope $VERCEL_ORG_ID --name starter-kit-next - name: Deploy to Vercel (Preview) if: github.event_name == 'pull_request' @@ -159,6 +145,4 @@ jobs: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} run: | - vercel --yes --token $VERCEL_TOKEN --scope $VERCEL_ORG_ID \ - --build-env NODE_OPTIONS="--max-old-space-size=4096" \ - --name starter-kit-next + vercel --yes --scope $VERCEL_ORG_ID --name starter-kit-next From ebe5edd82d797572f7108e7d6e2759110383f756 Mon Sep 17 00:00:00 2001 From: Sanchitv3 Date: Thu, 26 Jun 2025 18:41:20 +0530 Subject: [PATCH 6/8] fix: updated commands according to nightly package --- .github/workflows/expo-latest-nightly.yml | 22 ++-------------------- .github/workflows/next-latest-nightly.yml | 4 ++-- .github/workflows/vercel-deployments.yml | 2 +- 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/.github/workflows/expo-latest-nightly.yml b/.github/workflows/expo-latest-nightly.yml index 677529f4c3..78ce43c28a 100644 --- a/.github/workflows/expo-latest-nightly.yml +++ b/.github/workflows/expo-latest-nightly.yml @@ -1,4 +1,4 @@ -name: Expo Latest +name: Expo Latest Nightly on: push: @@ -48,27 +48,9 @@ jobs: - name: Install gluestack-ui working-directory: test-app run: | - npx gluestack-ui-nightly init --template-only --projectType expo + npx gluestack-ui-nightly init --projectType expo npx gluestack-ui-nightly add --all npx tailwindcss -i ./global.css -o ./node_modules/.cache/nativewind/global.css - - name: Add Button component - working-directory: test-app - run: | - mkdir -p app/\(tabs\) - cat < app/\(tabs\)/index.tsx - import React from 'react'; - import { View } from 'react-native'; - import { Button, ButtonText } from '@/components/ui/button'; - export default function App() { - return ( - - - - ); - } - EOT - name: Start Expo web app working-directory: test-app run: | diff --git a/.github/workflows/next-latest-nightly.yml b/.github/workflows/next-latest-nightly.yml index d6321011c0..78369d8abf 100644 --- a/.github/workflows/next-latest-nightly.yml +++ b/.github/workflows/next-latest-nightly.yml @@ -1,4 +1,4 @@ -name: Next.js Latest +name: Next.js Latest Nightly on: push: @@ -55,7 +55,7 @@ jobs: - name: Create Next.js project from create-command run: | - npx create-gluestack-nightly@latest test-app --next-app-router + npx create-gluestack-nightly@latest test-app --starter-kit-next cd test-app - name: Build Next.js app diff --git a/.github/workflows/vercel-deployments.yml b/.github/workflows/vercel-deployments.yml index 82ea35d6d8..4dd0240210 100644 --- a/.github/workflows/vercel-deployments.yml +++ b/.github/workflows/vercel-deployments.yml @@ -1,4 +1,4 @@ -name: Vercel Deployments +name: Vercel Deployments Nightly on: push: From f98e3e46c13a344bb2ca935da2e18e263eb4419e Mon Sep 17 00:00:00 2001 From: Sanchitv3 Date: Thu, 26 Jun 2025 19:18:12 +0530 Subject: [PATCH 7/8] chore: removed Unnecessary test --- .github/workflows/expo-latest-nightly.yml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/.github/workflows/expo-latest-nightly.yml b/.github/workflows/expo-latest-nightly.yml index 78ce43c28a..183b777fcf 100644 --- a/.github/workflows/expo-latest-nightly.yml +++ b/.github/workflows/expo-latest-nightly.yml @@ -48,29 +48,13 @@ jobs: - name: Install gluestack-ui working-directory: test-app run: | - npx gluestack-ui-nightly init --projectType expo + npx gluestack-ui-nightly init --template-only --projectType expo npx gluestack-ui-nightly add --all npx tailwindcss -i ./global.css -o ./node_modules/.cache/nativewind/global.css - name: Start Expo web app working-directory: test-app run: | npm run web & sleep 30 - - name: Check if button is rendered - run: | - echo "First curl attempt:" - curl -s http://localhost:8081 | tee curl_output_1.log - echo "Waiting for 30 seconds..." - sleep 30 - echo "Second curl attempt:" - curl -s http://localhost:8081 | tee curl_output_2.log - echo "Searching for 'Hello World!' in the output:" - if grep -q "Hello World!" curl_output_1.log || grep -q "Hello World!" curl_output_2.log; then - echo "Button found on the page" - exit 0 - else - echo "Button not found on the page" - exit 1 - fi notify: needs: test-expo-latest if: always() && github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' From 4da1a470341556a75fe3afef2d9632bc3a069dda Mon Sep 17 00:00:00 2001 From: Sanchit Kumar Date: Tue, 1 Jul 2025 14:18:25 +0530 Subject: [PATCH 8/8] emptied vercel-deployment workflow (not needed) --- .github/workflows/vercel-deployments.yml | 147 ----------------------- 1 file changed, 147 deletions(-) diff --git a/.github/workflows/vercel-deployments.yml b/.github/workflows/vercel-deployments.yml index 4dd0240210..8b13789179 100644 --- a/.github/workflows/vercel-deployments.yml +++ b/.github/workflows/vercel-deployments.yml @@ -1,148 +1 @@ -name: Vercel Deployments Nightly -on: - push: - branches: [feat/v3] - pull_request: - branches: [feat/v3] - -jobs: - deploy-kitchen-sink: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - cache: 'npm' - - - name: Install Vercel CLI - run: npm install -g vercel@latest - - - name: Install dependencies - run: npm install - - - name: Deploy to Vercel (Production) - if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' - working-directory: ./apps/kitchen-sink - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --prod --yes --scope $VERCEL_ORG_ID --name kitchen-sink - - - name: Deploy to Vercel (Preview) - if: github.event_name == 'pull_request' - working-directory: ./apps/kitchen-sink - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --yes --scope $VERCEL_ORG_ID --name kitchen-sink - - deploy-todo-app: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - cache: 'npm' - - - name: Install Vercel CLI - run: npm install -g vercel@latest - - - name: Install dependencies - run: npm install - - - name: Deploy to Vercel (Production) - if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' - working-directory: ./apps/todo-app - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --prod --yes --scope $VERCEL_ORG_ID --name todo-app - - - name: Deploy to Vercel (Preview) - if: github.event_name == 'pull_request' - working-directory: ./apps/todo-app - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --yes --scope $VERCEL_ORG_ID --name todo-app - - deploy-starter-kit-expo: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - cache: 'npm' - - - name: Install Vercel CLI - run: npm install -g vercel@latest - - - name: Install dependencies - run: npm install - - - name: Deploy to Vercel (Production) - if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' - working-directory: ./apps/starter-kit-expo - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --prod --yes --scope $VERCEL_ORG_ID --name starter-kit-expo - - - name: Deploy to Vercel (Preview) - if: github.event_name == 'pull_request' - working-directory: ./apps/starter-kit-expo - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --yes --scope $VERCEL_ORG_ID --name starter-kit-expo - - deploy-starter-kit-next: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - cache: 'npm' - - - name: Install Vercel CLI - run: npm install -g vercel@latest - - - name: Install dependencies - run: npm install - - - name: Deploy to Vercel (Production) - if: github.event_name == 'push' && github.ref == 'refs/heads/feat/v3' - working-directory: ./apps/starter-kit-next - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --prod --yes --scope $VERCEL_ORG_ID --name starter-kit-next - - - name: Deploy to Vercel (Preview) - if: github.event_name == 'pull_request' - working-directory: ./apps/starter-kit-next - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - run: | - vercel --yes --scope $VERCEL_ORG_ID --name starter-kit-next