From 969f712b96735105b4d1ad2d22ef9d96a99456f8 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:04:38 -0500 Subject: [PATCH 01/13] Delete the RELEASES.md doc, it's not relevant any longer --- docs/RELEASES.md | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 docs/RELEASES.md diff --git a/docs/RELEASES.md b/docs/RELEASES.md deleted file mode 100644 index a011aa4f4f..0000000000 --- a/docs/RELEASES.md +++ /dev/null @@ -1,31 +0,0 @@ -# Fractal Release Cycle -This document details the release cycle process followed by the Fractal frontend engineering team. - -## Development environments -Fractal has three application environments: - -- [Development (dev)](https://app.dev.fractalframework.xyz/) - for daily coding PRs and immediate deployment upon a code merge. -- [Staging](https://app.staging.fractalframework.xyz/) - a more stable environment for QA engineer testing and demoing upcoming features. -- [Production (prod)](https://app.fractalframework.xyz/) - The user facing application, which requires a version tag to publish a new release. - -## Release preparation and testing -Every 2nd Thursday morning all code currently merged in the development environment is included in a pull request into staging. - -Included in this PR is an update to `version` in the app's `package.json`, following the release conventions detailed below. - -The engineering team performs a quick scan of the pull request Thursday morning, and given 2 approvals, the code is merged into staging as a potential release candidate. - -The QA team performs manual and automated regression testing on Thursday and Friday, with any regressions logged as Github issue tickets, to be fixed by the engineering team prior to the end of the week. - -Assuming the testing process has passed and all blocking issues have been fixed, on Monday morning the staging environment is merged into production, and a release tag is created, triggering a production build. - -The QA team performs a quick manual test of the app in production immediately following the release, and monitors Sentry and user feedback via email or Twitter throughout Monday, in case of a missed regression. - -## Versioning -Fractal follows semantic versioning (https://semver.org/). - -There are three types of releases: - -- **MAJOR**: Rare and usually aligns with a version upgrade to the [underlying smart contracts](https://github.com/decent-dao/fractal-contracts). These are changes incompatible with prior front end versions. -- **MINOR**: Adds backwards-compatible manner functionalities and bug fixes. -- **PATCH**: Adds backwards-compatible bug and/or security fixes and can be deployed instantaneously, bypassing a full release cycle. No new functionality will be introduced. From b7ef35f2ce6a8558061dfc45aff0197b680f126d Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:05:28 -0500 Subject: [PATCH 02/13] Remove windows specific scripts from package.json --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 0aae53eb67..fe8addc0ff 100644 --- a/package.json +++ b/package.json @@ -57,9 +57,7 @@ "dev": "npm run set:env & next dev", "start": "npm run set:env & next start", "start:https": "npm run set:env & HTTPS=true next start", - "start:windows": "set \"GENERATE_SOURCEMAP=false\" && for /F \"delims=\" %I in ('git rev-parse HEAD') do set \"NEXT_PUBLIC_GIT_HASH=%I\" && next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", - "build:windows": "for /F \"delims=\" %I in ('git rev-parse HEAD') do set \"NEXT_PUBLIC_GIT_HASH=%I\" && next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", "test": "vitest --dir=test", From 4f19bf3b3247300f275c46e8c4e13d03aeb9ed5b Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:07:09 -0500 Subject: [PATCH 03/13] set:env script wasn't working, so inlined into dev, start, start:https --- package.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index fe8addc0ff..a3110fe17b 100644 --- a/package.json +++ b/package.json @@ -53,10 +53,9 @@ "scripts": { "lint": "next lint", "lint:fix": "next lint --fix", - "set:env": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD`", - "dev": "npm run set:env & next dev", - "start": "npm run set:env & next start", - "start:https": "npm run set:env & HTTPS=true next start", + "dev": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", + "start": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", + "start:https": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From 8926efb27d8f567c6b058d3a1bc13087c10b60d5 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:07:32 -0500 Subject: [PATCH 04/13] Use the git shorthash as version identifier in Footer --- src/components/pages/AppHome/AppFooter.tsx | 39 ++++++++++++---------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/components/pages/AppHome/AppFooter.tsx b/src/components/pages/AppHome/AppFooter.tsx index 2e3035b49b..0ea4238b39 100644 --- a/src/components/pages/AppHome/AppFooter.tsx +++ b/src/components/pages/AppHome/AppFooter.tsx @@ -1,6 +1,5 @@ import { Box, BoxProps, Divider, Flex, Link, Spacer, Text } from '@chakra-ui/react'; import { Trans, useTranslation } from 'react-i18next'; -import packageJson from '../../../../package.json'; import { URL_DECENT } from '../../../constants/url'; import ExternalLink from '../../ui/links/ExternalLink'; @@ -42,23 +41,27 @@ export function AppFooter({ ...rest }: BoxProps) { > {t('audit')} - - | - - - v{packageJson.version} - + {process.env.NEXT_PUBLIC_GIT_HASH !== undefined && ( + <> + + | + + + {process.env.NEXT_PUBLIC_GIT_HASH.substring(0, 7)} + + + )} ); From 2befe6330eaa8e6a611d0e7ab933a4be9875aff4 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:17:06 -0500 Subject: [PATCH 05/13] Remove version property from package.json --- package-lock.json | 1 - package.json | 1 - 2 files changed, 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b28277fdf9..2668a872e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,6 @@ "packages": { "": { "name": "fractal-interface", - "version": "0.1.8", "dependencies": { "@apollo/client": "^3.7.10", "@chakra-ui/next-js": "^2.2.0", diff --git a/package.json b/package.json index a3110fe17b..758d6f65a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "fractal-interface", - "version": "0.1.8", "private": true, "dependencies": { "@apollo/client": "^3.7.10", From 49d744be17ec6927408eb9a27546009a57fbdd48 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:17:41 -0500 Subject: [PATCH 06/13] Remove GENERATE_SOURCEMAP=false from some npm scripts --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 758d6f65a5..9c80410053 100644 --- a/package.json +++ b/package.json @@ -52,9 +52,9 @@ "scripts": { "lint": "next lint", "lint:fix": "next lint --fix", - "dev": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", - "start": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", - "start:https": "GENERATE_SOURCEMAP=false NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", + "dev": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", + "start": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", + "start:https": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From a7b7890a92520c742c58c773bdc522d027c27f58 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:20:15 -0500 Subject: [PATCH 07/13] Remove the start and start:https scripts --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 9c80410053..cd94a35d2a 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,6 @@ "lint": "next lint", "lint:fix": "next lint --fix", "dev": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", - "start": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", - "start:https": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From 0f31fd6f385f0e6f22b3d6f094dee88215953eec Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 10:21:10 -0500 Subject: [PATCH 08/13] Build the graphql client when `npm run dev` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cd94a35d2a..0df7c4b153 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "scripts": { "lint": "next lint", "lint:fix": "next lint --fix", - "dev": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", + "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From effde4216665f27c198f33ea18c8fe5dc7360674 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 12:30:08 -0500 Subject: [PATCH 09/13] Add start and start:https scripts back --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 0df7c4b153..fb3203f312 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,8 @@ "lint": "next lint", "lint:fix": "next lint --fix", "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", + "start": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", + "start:https": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From e22463ed42ade5946ae959bfbf817c6ab3ea1cc8 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 13:19:57 -0500 Subject: [PATCH 10/13] Remove unused import --- app/page.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/app/page.tsx b/app/page.tsx index 666bf3e65f..9cba45c4cd 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -14,7 +14,6 @@ import ExternalLink from '../src/components/ui/links/ExternalLink'; import ClientOnly from '../src/components/ui/utils/ClientOnly'; import { BASE_ROUTES } from '../src/constants/routes'; import { URL_DOCS } from '../src/constants/url'; -import ethLizardsLogo from '../src/metadata/lizzardsDAO/assets/logo.png'; import { useFractal } from '../src/providers/App/AppProvider'; import { disconnectedChain } from '../src/providers/NetworkConfig/NetworkConfigProvider'; From d25deadce75240269cde30244772dd49d73057d6 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 13:20:27 -0500 Subject: [PATCH 11/13] Delete unnecessary commands from start scripts --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index fb3203f312..745b5843c5 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,8 @@ "lint": "next lint", "lint:fix": "next lint --fix", "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", - "start": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next start", - "start:https": "NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` HTTPS=true next start", + "start": "next start", + "start:https": "HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From 8ad97005a679b8094e60ea73bb49b778858c0528 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 13:20:43 -0500 Subject: [PATCH 12/13] temp - remove start scripts --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 745b5843c5..0df7c4b153 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,6 @@ "lint": "next lint", "lint:fix": "next lint --fix", "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", - "start": "next start", - "start:https": "HTTPS=true next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev", From 6cfbe6665fa2a112cee092b479181cbb4be78b64 Mon Sep 17 00:00:00 2001 From: Adam Gall Date: Wed, 6 Mar 2024 14:37:52 -0500 Subject: [PATCH 13/13] Adding the `start` script back --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 0df7c4b153..4b8e2006f9 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "lint": "next lint", "lint:fix": "next lint --fix", "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev", + "start": "next start", "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build", "graphql:build": "graphclient build", "graphql:dev-server": "graphclient serve-dev",