mirror of
https://github.com/Sosokker/B2D-Ventures.git
synced 2025-12-18 13:34:06 +01:00
Workflow cache update
This commit is contained in:
parent
f705fa6d4a
commit
abd616a6f4
@ -15,6 +15,7 @@ STRIPE_SECRET_KEY=stripe-secret-key
|
|||||||
|
|
||||||
# Testing Server URL
|
# Testing Server URL
|
||||||
NEXT_PUBLIC_TEST_URL=testing-server-url
|
NEXT_PUBLIC_TEST_URL=testing-server-url
|
||||||
|
BASE_URL = http://127.0.0.1:3000
|
||||||
|
|
||||||
# Admin User Credentials (Must exist in the real database)
|
# Admin User Credentials (Must exist in the real database)
|
||||||
NEXT_PUBLIC_ADMIN_EMAIL=admin@example.com
|
NEXT_PUBLIC_ADMIN_EMAIL=admin@example.com
|
||||||
|
|||||||
@ -15,6 +15,7 @@ STRIPE_SECRET_KEY=stripe-secret-key
|
|||||||
|
|
||||||
# Testing Server URL
|
# Testing Server URL
|
||||||
NEXT_PUBLIC_TEST_URL=testing-server-url
|
NEXT_PUBLIC_TEST_URL=testing-server-url
|
||||||
|
BASE_URL = http://127.0.0.1:3000
|
||||||
|
|
||||||
# Admin User Credentials (Must exist in the real database)
|
# Admin User Credentials (Must exist in the real database)
|
||||||
NEXT_PUBLIC_ADMIN_EMAIL=admin@example.com
|
NEXT_PUBLIC_ADMIN_EMAIL=admin@example.com
|
||||||
|
|||||||
22
.github/workflows/build.yml
vendored
22
.github/workflows/build.yml
vendored
@ -13,8 +13,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
- name: Caching
|
- name: Ci caching
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
id: ci-cache
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.npm
|
~/.npm
|
||||||
@ -22,23 +23,8 @@ jobs:
|
|||||||
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
||||||
|
- run: npm ci
|
||||||
- name: Set environment variables
|
if: steps.ci-cache.outputs.cache-hit != 'true'
|
||||||
run: |
|
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_ID=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_ID }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_SECRET=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_SECRET }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_DUMMY_EMAIL=${{ secrets.NEXT_PUBLIC_DUMMY_EMAIL }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_DUMMY_PASSWORD=${{ secrets.NEXT_PUBLIC_DUMMY_PASSWORD }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_STRIPE_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_STRIPE_PUBLIC_KEY }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_ANON_KEY=${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL=${{ secrets.NEXT_PUBLIC_SUPABASE_URL }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL_SOURCE=${{ secrets.NEXT_PUBLIC_SUPABASE_URL_SOURCE }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_TEST_URL=${{ secrets.NEXT_PUBLIC_TEST_URL }} >> $GITHUB_ENV
|
|
||||||
echo PROJECT_ID=${{ secrets.PROJECT_ID }} >> $GITHUB_ENV
|
|
||||||
echo STRIPE_SECRET_KEY=${{ secrets.STRIPE_SECRET_KEY }} >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Run build
|
- name: Run build
|
||||||
run: npm run build --if-present
|
run: npm run build --if-present
|
||||||
|
|||||||
22
.github/workflows/eslint.yml
vendored
22
.github/workflows/eslint.yml
vendored
@ -13,8 +13,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
- name: Caching
|
- name: Ci caching
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
id: ci-cache
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.npm
|
~/.npm
|
||||||
@ -22,23 +23,8 @@ jobs:
|
|||||||
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
||||||
|
- run: npm ci
|
||||||
- name: Set environment variables
|
if: steps.ci-cache.outputs.cache-hit != 'true'
|
||||||
run: |
|
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_ID=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_ID }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_SECRET=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_SECRET }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_DUMMY_EMAIL=${{ secrets.NEXT_PUBLIC_DUMMY_EMAIL }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_DUMMY_PASSWORD=${{ secrets.NEXT_PUBLIC_DUMMY_PASSWORD }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_STRIPE_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_STRIPE_PUBLIC_KEY }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_ANON_KEY=${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL=${{ secrets.NEXT_PUBLIC_SUPABASE_URL }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL_SOURCE=${{ secrets.NEXT_PUBLIC_SUPABASE_URL_SOURCE }} >> $GITHUB_ENV
|
|
||||||
echo NEXT_PUBLIC_TEST_URL=${{ secrets.NEXT_PUBLIC_TEST_URL }} >> $GITHUB_ENV
|
|
||||||
echo PROJECT_ID=${{ secrets.PROJECT_ID }} >> $GITHUB_ENV
|
|
||||||
echo STRIPE_SECRET_KEY=${{ secrets.STRIPE_SECRET_KEY }} >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Run eslint
|
- name: Run eslint
|
||||||
run: npm run lint
|
run: npm run lint
|
||||||
39
.github/workflows/playwright.yml
vendored
39
.github/workflows/playwright.yml
vendored
@ -13,8 +13,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
- name: Caching
|
- name: Ci caching
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
id: ci-cache
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.npm
|
~/.npm
|
||||||
@ -22,29 +23,23 @@ jobs:
|
|||||||
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
||||||
|
- run: npm ci
|
||||||
|
if: steps.ci-cache.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
- name: Set environment variables
|
- name: Cache playwright binaries
|
||||||
run: |
|
uses: actions/cache@v4
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_ID=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_ID }} >> $GITHUB_ENV
|
id: playwright-cache
|
||||||
echo NEXT_PUBLIC_AUTH_GOOGLE_SECRET=${{ secrets.NEXT_PUBLIC_AUTH_GOOGLE_SECRET }} >> $GITHUB_ENV
|
with:
|
||||||
echo NEXT_PUBLIC_DUMMY_EMAIL=${{ secrets.NEXT_PUBLIC_DUMMY_EMAIL }} >> $GITHUB_ENV
|
path: |
|
||||||
echo NEXT_PUBLIC_DUMMY_PASSWORD=${{ secrets.NEXT_PUBLIC_DUMMY_PASSWORD }} >> $GITHUB_ENV
|
~/.cache/ms-playwright
|
||||||
echo NEXT_PUBLIC_STRIPE_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_STRIPE_PUBLIC_KEY }} >> $GITHUB_ENV
|
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||||
echo NEXT_PUBLIC_SUPABASE_ANON_KEY=${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }} >> $GITHUB_ENV
|
- run: npx playwright install --with-deps
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL=${{ secrets.NEXT_PUBLIC_SUPABASE_URL }} >> $GITHUB_ENV
|
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||||
echo NEXT_PUBLIC_SUPABASE_URL_SOURCE=${{ secrets.NEXT_PUBLIC_SUPABASE_URL_SOURCE }} >> $GITHUB_ENV
|
- run: npx playwright install-deps
|
||||||
echo NEXT_PUBLIC_TEST_URL=${{ secrets.NEXT_PUBLIC_TEST_URL }} >> $GITHUB_ENV
|
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||||
echo PROJECT_ID=${{ secrets.PROJECT_ID }} >> $GITHUB_ENV
|
|
||||||
echo STRIPE_SECRET_KEY=${{ secrets.STRIPE_SECRET_KEY }} >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Run Playwright tests
|
||||||
run: npm ci
|
run: npx playwright test
|
||||||
|
|
||||||
- name: Install Playwright Browsers
|
|
||||||
run: npx playwright install --with-deps
|
|
||||||
|
|
||||||
- name: Run Playwright tests with 4 workers
|
|
||||||
run: npx playwright test --workers=4
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import Lottie from "react-lottie";
|
import dynamic from "next/dynamic";
|
||||||
|
|
||||||
|
// Dynamically import Lottie to prevent SSR issues
|
||||||
|
const Lottie = dynamic(() => import("react-lottie"), { ssr: false });
|
||||||
import * as loadingData from "./loading.json";
|
import * as loadingData from "./loading.json";
|
||||||
|
|
||||||
const loadingOption = {
|
const loadingOption = {
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { firefox, FullConfig } from '@playwright/test';
|
import { firefox, FullConfig } from '@playwright/test';
|
||||||
|
|
||||||
async function globalSetup(config: FullConfig) {
|
async function globalSetup(config: FullConfig) {
|
||||||
|
const { baseURL, storageState } = config.projects[0].use;
|
||||||
console.log('globalizing...');
|
console.log('globalizing...');
|
||||||
const email = process.env.NEXT_PUBLIC_TEST_USER_EMAIL;
|
const email = process.env.NEXT_PUBLIC_TEST_USER_EMAIL;
|
||||||
const password = process.env.NEXT_PUBLIC_TEST_USER_PASSWORD;
|
const password = process.env.NEXT_PUBLIC_TEST_USER_PASSWORD;
|
||||||
@ -13,12 +14,13 @@ async function globalSetup(config: FullConfig) {
|
|||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
|
|
||||||
console.log('signing up user...');
|
console.log('signing up user...');
|
||||||
await page.goto(config.projects[0].use.baseURL + '/auth/signup');
|
await page.goto(baseURL + '/auth/signup');
|
||||||
await page.fill('id=email', email);
|
await page.fill('id=email', email);
|
||||||
await page.fill('id=password', password);
|
await page.fill('id=password', password);
|
||||||
await page.fill('id=confirmPassword', password);
|
await page.fill('id=confirmPassword', password);
|
||||||
await page.click('id=signup')
|
await page.click('id=signup')
|
||||||
|
|
||||||
|
await page.context().storageState({ path: storageState as string });
|
||||||
await browser.close();
|
await browser.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user