Skip to content

Commit 86dc7d9

Browse files
Merge pull request #385 from CivicDataLab/dev
Hotfixes
2 parents 6f2696e + 3a20336 commit 86dc7d9

51 files changed

Lines changed: 873 additions & 1121 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy-Dataspace-dev.yml

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,46 @@ name: Update DataSpace Dev
33
on:
44
push:
55
branches: ['dev']
6-
env:
7-
KEYCLOAK_CLIENT_ID: 'dataspace'
8-
KEYCLOAK_CLIENT_SECRET: 'Q2iHhyXNOqOu7Xaln7Z45QrDnbff13eu'
9-
AUTH_ISSUER: 'https://opub-kc.civicdatalab.in/auth/realms/DataSpace'
10-
NEXTAUTH_URL: 'https://dev.civicdataspace.in'
11-
NEXT_PUBLIC_NEXTAUTH_URL: 'https://dev.civicdataspace.in'
12-
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
13-
END_SESSION_URL: 'https://opub-kc.civicdatalab.in/auth/realms/DataSpace/protocol/openid-connect/logout'
14-
REFRESH_TOKEN_URL: 'https://opub-kc.civicdatalab.in/auth/realms/DataSpace/protocol/openid-connect/token'
15-
NEXT_PUBLIC_BACKEND_URL: 'https://dev.api.civicdataspace.in'
16-
BACKEND_GRAPHQL_URL: 'https://dev.api.civicdataspace.in/api/graphql'
17-
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{secrets.NEXT_PUBLIC_ENABLE_ACCESSMODEL_DS}}
18-
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: 'https://dev.api.civicdataspace.in/api/graphql'
19-
BACKEND_URL: 'https://dev.api.civicdataspace.in'
20-
NEXT_PUBLIC_PLATFORM_URL: 'https://dev.civicdataspace.in'
21-
NEXT_PUBLIC_ANALYTICS_URL: ${{secrets.NEXT_PUBLIC_ANALYTICS_URL}}
22-
236

247
jobs:
258
deploy:
269
runs-on: ubuntu-latest
27-
10+
environment: development
11+
env:
12+
KEYCLOAK_CLIENT_ID: ${{ secrets.KEYCLOAK_CLIENT_ID }}
13+
KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
14+
AUTH_ISSUER: ${{ secrets.AUTH_ISSUER }}
15+
NEXTAUTH_URL: ${{ vars.NEXTAUTH_URL }}
16+
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
17+
NEXT_PUBLIC_NEXTAUTH_URL: ${{ vars.NEXT_PUBLIC_NEXTAUTH_URL }}
18+
END_SESSION_URL: ${{ secrets.END_SESSION_URL }}
19+
REFRESH_TOKEN_URL: ${{ secrets.REFRESH_TOKEN_URL }}
20+
NEXT_PUBLIC_BACKEND_URL: ${{ vars.NEXT_PUBLIC_BACKEND_URL }}
21+
BACKEND_URL: ${{ vars.BACKEND_URL }}
22+
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{ vars.NEXT_PUBLIC_BACKEND_GRAPHQL_URL }}
23+
BACKEND_GRAPHQL_URL: ${{ vars.BACKEND_GRAPHQL_URL }}
24+
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{ vars.NEXT_PUBLIC_ENABLE_ACCESSMODEL }}
25+
NEXT_PUBLIC_ANALYTICS_URL: ${{ vars.NEXT_PUBLIC_ANALYTICS_URL }}
26+
NEXT_PUBLIC_PLATFORM_URL: ${{ vars.NEXT_PUBLIC_PLATFORM_URL }}
27+
2828
steps:
2929
- name: Checkout code
3030
uses: actions/checkout@v4
3131

32+
- name: Setup Node.js
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '20'
36+
cache: 'npm'
37+
3238
- name: Install dependencies
33-
run: npm install
39+
run: npm install --legacy-peer-deps
3440

3541
- name: Generate
36-
run: npm run generate
42+
run: npm run generate:ci
43+
env:
44+
BACKEND_GRAPHQL_URL: ${{ vars.BACKEND_GRAPHQL_URL }}
45+
NODE_ENV: production
3746

3847
- name: Build
3948
run: npm run build
@@ -45,27 +54,28 @@ jobs:
4554
run: mv public public2
4655

4756
- name: Send .next2 to EC2
48-
uses: appleboy/scp-action@master
57+
uses: appleboy/scp-action@v0.1.7
4958
with:
50-
host: ${{ secrets.EC2_HOST_DEV_DS }}
51-
username: ${{ secrets.EC2_USERNAME_DS }}
59+
host: ${{ vars.EC2_HOST }}
60+
username: ${{ secrets.EC2_USERNAME }}
5261
key: ${{ secrets.EC2_PRIVATE_KEY }}
5362
source: .next2
5463
target: DataExchange/DataExFrontend
5564

5665
- name: Send public2 to EC2
57-
uses: appleboy/scp-action@master
66+
uses: appleboy/scp-action@v0.1.7
5867
with:
59-
host: ${{ secrets.EC2_HOST_DEV_DS }}
60-
username: ${{ secrets.EC2_USERNAME_DS }}
68+
host: ${{ vars.EC2_HOST }}
69+
username: ${{ secrets.EC2_USERNAME }}
6170
key: ${{ secrets.EC2_PRIVATE_KEY }}
6271
source: public2
6372
target: DataExchange/DataExFrontend
6473

6574
- name: Update with new Build
6675
uses: appleboy/ssh-action@v1.0.3
76+
continue-on-error: false
6777
with:
68-
host: ${{ secrets.EC2_HOST_DEV_DS }}
69-
username: ${{ secrets.EC2_USERNAME_DS }}
78+
host: ${{ vars.EC2_HOST }}
79+
username: ${{ secrets.EC2_USERNAME }}
7080
key: ${{ secrets.EC2_PRIVATE_KEY }}
7181
script: rm -rf DataExchange/DataExFrontend/.next; rm -rf DataExchange/DataExFrontend/public; mv DataExchange/DataExFrontend/.next2 DataExchange/DataExFrontend/.next; mv DataExchange/DataExFrontend/public2 DataExchange/DataExFrontend/public; /home/ubuntu/.nvm/versions/node/v20.11.1/bin/pm2 restart dataspace

.github/workflows/pre-merge.yml

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,28 @@ on:
55
branches: ['dev']
66
pull_request:
77
branches: ['dev']
8-
env:
9-
KEYCLOAK_CLIENT_ID: ${{secrets.KEYCLOAK_CLIENT_ID}}
10-
KEYCLOAK_CLIENT_SECRET: ${{secrets.KEYCLOAK_CLIENT_SECRET}}
11-
AUTH_ISSUER: ${{secrets.AUTH_ISSUER}}
12-
NEXTAUTH_URL: 'https://dev.civicdataspace.in/'
13-
NEXT_PUBLIC_NEXTAUTH_URL: 'https://dev.civicdataspace.in/'
14-
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
15-
END_SESSION_URL: ${{secrets.END_SESSION_URL}}
16-
REFRESH_TOKEN_URL: ${{secrets.REFRESH_TOKEN_URL}}
17-
NEXT_PUBLIC_BACKEND_URL: ${{secrets.NEXT_PUBLIC_BACKEND_URL_DEV_DS}}
18-
BACKEND_GRAPHQL_URL: ${{secrets.BACKEND_GRAPHQL_URL_DEV_DS}}
19-
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{secrets.NEXT_PUBLIC_ENABLE_ACCESSMODEL_DS}}
20-
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{secrets.NEXT_PUBLIC_BACKEND_GRAPHQL_URL_DEV_DS}}
21-
BACKEND_URL: ${{secrets.BACKEND_URL_DEV}}
22-
NEXT_PUBLIC_PLATFORM_URL: ${{secrets.NEXT_PUBLIC_PLATFORM_URL_DEV}}
23-
NEXT_PUBLIC_ANALYTICS_URL: ${{secrets.NEXT_PUBLIC_ANALYTICS_URL}}
8+
249

2510
jobs:
2611
build:
2712
runs-on: ubuntu-latest
28-
13+
environment: development
14+
env:
15+
KEYCLOAK_CLIENT_ID: ${{secrets.KEYCLOAK_CLIENT_ID}}
16+
KEYCLOAK_CLIENT_SECRET: ${{secrets.KEYCLOAK_CLIENT_SECRET}}
17+
AUTH_ISSUER: ${{ secrets.AUTH_ISSUER }}
18+
NEXTAUTH_URL: ${{vars.NEXTAUTH_URL}}
19+
NEXT_PUBLIC_NEXTAUTH_URL: ${{ vars.NEXT_PUBLIC_NEXTAUTH_URL }}
20+
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
21+
END_SESSION_URL: ${{ vars.END_SESSION_URL }}
22+
REFRESH_TOKEN_URL: ${{secrets.REFRESH_TOKEN_URL}}
23+
NEXT_PUBLIC_BACKEND_URL: ${{vars.NEXT_PUBLIC_BACKEND_URL}}
24+
BACKEND_GRAPHQL_URL: ${{vars.BACKEND_GRAPHQL_URL}}
25+
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{vars.NEXT_PUBLIC_ENABLE_ACCESSMODEL}}
26+
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{vars.NEXT_PUBLIC_BACKEND_GRAPHQL_URL}}
27+
BACKEND_URL: ${{vars.BACKEND_URL}}
28+
NEXT_PUBLIC_PLATFORM_URL: ${{vars.NEXT_PUBLIC_PLATFORM_URL}}
29+
NEXT_PUBLIC_ANALYTICS_URL: ${{vars.NEXT_PUBLIC_ANALYTICS_URL}}
2930
strategy:
3031
matrix:
3132
node-version: [20.x]
@@ -42,33 +43,8 @@ jobs:
4243
run: npm ci --force
4344

4445
- name: Generate GraphQL types (CI-safe)
45-
run: |
46-
# Ensure generated directory exists
47-
mkdir -p ./gql/generated
48-
49-
# Try to generate with timeout and fallback
50-
timeout 60s npm run generate:ci || {
51-
echo "GraphQL codegen failed or timed out, checking for existing files..."
52-
if [ -d "./gql/generated" ] && [ "$(ls -A ./gql/generated 2>/dev/null)" ]; then
53-
echo "Using existing generated files"
54-
else
55-
echo "Creating minimal generated files for build to proceed"
56-
echo "// Auto-generated fallback file for CI builds" > ./gql/generated/index.ts
57-
echo "export type Maybe<T> = T | null;" >> ./gql/generated/index.ts
58-
echo "export type Scalars = {" >> ./gql/generated/index.ts
59-
echo " ID: string;" >> ./gql/generated/index.ts
60-
echo " String: string;" >> ./gql/generated/index.ts
61-
echo " Boolean: boolean;" >> ./gql/generated/index.ts
62-
echo " Int: number;" >> ./gql/generated/index.ts
63-
echo " Float: number;" >> ./gql/generated/index.ts
64-
echo "};" >> ./gql/generated/index.ts
65-
echo "export {};" >> ./gql/generated/index.ts
66-
echo "Created fallback generated files"
67-
fi
68-
}
46+
run: npm run generate
6947
env:
70-
BACKEND_GRAPHQL_URL: ${{secrets.BACKEND_GRAPHQL_URL_DEV_DS}}
71-
NODE_ENV: 'production'
72-
48+
BACKEND_GRAPHQL_URL: ${{vars.BACKEND_GRAPHQL_URL}}
7349
- name: Build application
7450
run: npm run build --if-present

.github/workflows/push-to-ec2.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

app/[locale]/(user)/aimodels/[modelId]/components/Versions/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export default function Versions({ data }: VersionsProps) {
7272
header: 'Last Updated',
7373
cell: ({ row }: any) => (
7474
<Text variant="bodyMd">
75-
{formatDate(row.original.updatedAt || row.original.createdAt)}
75+
{formatDate(row.original.updatedAt || row.original.createdAt) || ''}
7676
</Text>
7777
),
7878
},

app/[locale]/(user)/collaboratives/CollaborativesListingClient.tsx

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ const PublishedCollaboratives = graphql(`
6464
id
6565
name
6666
}
67+
coverImage {
68+
name
69+
path
70+
}
6771
datasetCount
6872
metadata {
6973
metadataItem {
@@ -214,7 +218,7 @@ const CollaborativesListingClient = () => {
214218
</Text>
215219

216220
{/* Search and Filter Section */}
217-
<div className="flex flex-wrap gap-6 lg:flex-nowrap">
221+
<div className="flex flex-wrap gap-6 pt-4 lg:flex-nowrap">
218222
<SearchInput
219223
label={''}
220224
className={cn('w-full', Styles.Search)}
@@ -300,12 +304,18 @@ const CollaborativesListingClient = () => {
300304
title={collaborative.title || ''}
301305
variation="collapsed"
302306
iconColor="warning"
303-
imageUrl={`${process.env.NEXT_PUBLIC_BACKEND_URL}/${collaborative.logo?.path.replace('/code/files/', '')}`}
307+
imageUrl={
308+
collaborative.coverImage
309+
? `${process.env.NEXT_PUBLIC_BACKEND_URL}/${collaborative.coverImage?.path.replace('/code/files/', '')}`
310+
: `${process.env.NEXT_PUBLIC_BACKEND_URL}/${collaborative.logo?.path.replace('/code/files/', '')}`
311+
}
312+
// imageUrl={`${process.env.NEXT_PUBLIC_BACKEND_URL}/${collaborative.logo?.path.replace('/code/files/', '')}`}
304313
metadataContent={[
305314
{
306-
icon: Icons.calendar as any,
315+
icon: Icons.calendarEvent as any,
307316
label: 'Started',
308-
value: formatDate(collaborative.startedOn),
317+
value: formatDate(collaborative.startedOn) || '',
318+
stroke: 1.2,
309319
},
310320
{
311321
icon: Icons.dataset as any,
@@ -314,7 +324,7 @@ const CollaborativesListingClient = () => {
314324
collaborative.datasetCount?.toString() || '0',
315325
},
316326
{
317-
icon: Icons.globe as ComponentType<any>,
327+
icon: Icons.worldPin as ComponentType<any>,
318328
label: 'Geography',
319329
value:
320330
collaborative.geographies &&
@@ -323,16 +333,19 @@ const CollaborativesListingClient = () => {
323333
.map((geo: any) => geo.name)
324334
.join(', ')
325335
: 'N/A',
336+
stroke: 1.2,
326337
},
327338
]}
328339
href={`/collaboratives/${collaborative.slug}`}
329-
footerContent={[
340+
leftFooterChips={[
330341
{
331342
icon: collaborative.sectors?.[0]?.name
332343
? `/Sectors/${collaborative.sectors[0].name}.svg`
333344
: '/Sectors/default.svg',
334345
label: 'Sectors',
335346
},
347+
]}
348+
rightFooterChips={[
336349
{
337350
icon: collaborative.isIndividualCollaborative
338351
? collaborative?.user?.profilePicture

0 commit comments

Comments
 (0)