Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release #1649

Merged
merged 127 commits into from
Dec 1, 2023
Merged

release #1649

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
80f3503
unified community page start
Seroxdesign Sep 29, 2023
39bdcba
community tabs, tablist and body
Seroxdesign Oct 2, 2023
c2fd25c
community tab fix
Seroxdesign Oct 2, 2023
7e2ed61
Merge branch 'develop' into sero/unified-community
nitegeist Oct 11, 2023
d08c59a
Make tabs width dynamic
nitegeist Oct 11, 2023
50ba997
fix dashboard regression
Seroxdesign Oct 10, 2023
d66f9f4
make community page dynamic, reduce repitition
Seroxdesign Oct 23, 2023
283a966
Merge branch 'develop' into sero/unified-community
Seroxdesign Oct 23, 2023
d125f0b
fix imports, fix bugs
Seroxdesign Oct 23, 2023
500b553
up
Seroxdesign Oct 23, 2023
fd3f594
make underline on selected page, change custom block CTA, remove foru…
Seroxdesign Oct 17, 2023
b420d81
onboarding screen full page
Seroxdesign Oct 11, 2023
463095b
Update index.tsx
Seroxdesign Oct 23, 2023
802c0b3
Update index.tsx
Seroxdesign Oct 23, 2023
d27be6f
unified community page start
Seroxdesign Sep 29, 2023
ccc5559
community tabs, tablist and body
Seroxdesign Oct 2, 2023
aa42ea3
community tab fix
Seroxdesign Oct 2, 2023
ce37975
Make tabs width dynamic
nitegeist Oct 11, 2023
c001ec3
make community page dynamic, reduce repitition
Seroxdesign Oct 23, 2023
5b74dfa
fix imports, fix bugs
Seroxdesign Oct 23, 2023
d1b4f3f
questchain fix
Seroxdesign Oct 24, 2023
5cc336b
Merge branch 'develop' into sero/bug-playbook-submit-proof
Seroxdesign Oct 24, 2023
0523bc1
Commit wip
luxumbra Sep 27, 2023
f3be2f9
Fixes "Merge role paths, playbooks & great houses into a single page"
luxumbra Oct 3, 2023
01f1bd8
Forgot to remove the redundant Learn code.
luxumbra Oct 3, 2023
26c28f1
fixed issue with incorrect url path in the card.
luxumbra Oct 3, 2023
f2f0089
WIP on adding the carousel functionality.
luxumbra Oct 10, 2023
822bac8
next / prev buttons now to do added. some bits still to do to refine …
luxumbra Oct 10, 2023
8e14e5b
making header full width with centred menu after some discussionin di…
luxumbra Oct 10, 2023
4c31a68
Scrollbar styles for firefox & changing color to purple
luxumbra Oct 11, 2023
c965b6d
Fixed issue with scrollbar showing in search results when no scrollin…
luxumbra Oct 11, 2023
43fbede
Removed extraneous comments & renamed component & prop types to clear…
luxumbra Oct 11, 2023
1816c74
bump eslint to fix recent errors
luxumbra Oct 13, 2023
62bc214
fixed breakage related to props.
luxumbra Oct 13, 2023
aebc60d
rename to Academy.
luxumbra Oct 13, 2023
72af99a
smol tweaks & responsive improvements - WIP
luxumbra Oct 18, 2023
bd7b380
tweaks to slider to fix issues with position of the items on prev & n…
luxumbra Oct 18, 2023
adb3f41
more responsive styles. base, md, xl & 2xl. fixed a couple of display…
luxumbra Oct 19, 2023
600cf1b
Adding 'submit a playbook' playbook to all categories.
luxumbra Oct 19, 2023
92c3923
Addressed feedback from @alalonde
luxumbra Oct 24, 2023
c976a62
Fixed responsive issues
luxumbra Oct 24, 2023
7a9e205
removed extraneous comments
luxumbra Oct 24, 2023
f0ec951
streamlining XP calculation, adding token multiplier, & returning det…
dysbulic Oct 16, 2023
d48a0f6
making changes to force a redeploy 🍦
dysbulic Oct 16, 2023
356e92c
adding a bunch of down migrations 🔦
dysbulic Oct 16, 2023
c0e3d31
cascading column `drop`s 🛀
dysbulic Oct 17, 2023
6c0f3f2
fixing `trigger` `drop`s 📬
dysbulic Oct 17, 2023
77b2716
handling result pagination, reverse chronology, & setting initial skip 🥞
dysbulic Oct 23, 2023
bec60ff
Update DesktopPlayerStats.tsx
Seroxdesign Oct 25, 2023
b5d4eed
calendar now pulling data from my endpoint and styled as per the Figma.
luxumbra Oct 12, 2023
da561df
fixed linting issue by updating the eslint-parser.
luxumbra Oct 12, 2023
f083073
remove extraneous logs
luxumbra Oct 12, 2023
99296de
some style tweaks, cleaning up the description and other improvements
luxumbra Oct 13, 2023
45efa42
disable after 20 events
luxumbra Oct 13, 2023
d3e9492
doh! left the local url by mistake
luxumbra Oct 13, 2023
d9ab343
hover for the items
luxumbra Oct 18, 2023
be8530f
update styles to match designs. I am having an issue where I can't ch…
luxumbra Oct 19, 2023
f7a7ba5
addressed feedback from @davort around 'load more' & smol display issues
luxumbra Oct 24, 2023
01c6bf9
addressed some review comments from @alalonde
luxumbra Oct 24, 2023
f5d7236
forgot to change the url back
luxumbra Oct 25, 2023
417e874
tweak to scrollbar styles as the shadow was a bit too much with the a…
luxumbra Oct 26, 2023
21bfd3c
wip on moving my express backend into
luxumbra Oct 26, 2023
0df78fd
further wip on moving stuff to . Now displaying the events but I stil…
luxumbra Oct 27, 2023
da24652
fix regression
luxumbra Oct 28, 2023
f8eacd2
final changes for the calendar after refactor to use Next api routes.
luxumbra Oct 28, 2023
5c5a3a5
replace localhost api url with
luxumbra Oct 30, 2023
35af956
remove ts-ignore
luxumbra Oct 30, 2023
2182197
Update MegaMenuHeader.tsx
Seroxdesign Oct 30, 2023
677aaa5
adding env vars for the calendar stuff which will hopefully fix test.
luxumbra Oct 31, 2023
8601d5c
fix some memory issues with my code
luxumbra Nov 1, 2023
257d70c
wip on fixing isues
luxumbra Nov 2, 2023
04241a3
updating GitHub Actions 🐊
dysbulic Nov 5, 2023
6bbef15
Fix Google Calendar environment variables (#1638)
dysbulic Nov 16, 2023
e49a2c6
removing `yarn` v15 from `Dockerfile` 👼🏿
dysbulic Nov 16, 2023
221ff95
begin work on unify signup
nitegeist Sep 20, 2023
738c09d
Create custom image tabs [WIP]
nitegeist Sep 20, 2023
acc01f0
Add content and style unified signup page
nitegeist Oct 10, 2023
32d3eb9
Implement responsive styles
nitegeist Oct 11, 2023
b592dc9
Clean up code
nitegeist Oct 12, 2023
f4bf3ef
Remove gap from between perk cards
nitegeist Oct 12, 2023
bad5632
Remove unnecessary badges on mobile & change join text
nitegeist Oct 12, 2023
41d6f86
Fix typo
nitegeist Oct 12, 2023
a7fd4f7
Working on masking content beliw tabs on desktop
nitegeist Oct 13, 2023
9512603
Fix card width & remove mask attempt
nitegeist Oct 13, 2023
c4c696c
Fix mobile cut off
nitegeist Oct 13, 2023
558dc68
Fix mobile view
nitegeist Oct 14, 2023
e5880a7
Fix mobile layout by resizing content
nitegeist Oct 14, 2023
319b6f4
Make changes based on suggestions
nitegeist Oct 26, 2023
0b4eb88
CHange pro tier to say inquire
nitegeist Oct 26, 2023
ab13a8c
Redirect to /signup?tab=player when user navigates to /signup
nitegeist Oct 27, 2023
35ce759
Center role cards
nitegeist Nov 1, 2023
c76c8a1
Fix masking issue
nitegeist Nov 6, 2023
f65aad0
Fix text
nitegeist Nov 6, 2023
df03294
Refactor code to be more dynamic
nitegeist Nov 8, 2023
8f9a5ec
Make active tab local variable, make OR condition more dynamic, minor…
nitegeist Nov 9, 2023
f79d422
Fix nested ternary
nitegeist Nov 10, 2023
0a6166e
Fix role scope issue
nitegeist Nov 10, 2023
938aee2
Fix redirect
nitegeist Nov 10, 2023
841577e
Fix badge ternary
nitegeist Nov 10, 2023
4c705f0
Fix import error
nitegeist Nov 13, 2023
c1b2bd0
Fix import again
nitegeist Nov 14, 2023
0ba3186
add rotating one liners
nitegeist Nov 16, 2023
a5a8e12
test fix
nitegeist Nov 16, 2023
0dddfbc
Fix animation
nitegeist Nov 16, 2023
28948e1
Fix eslint stuff
nitegeist Nov 17, 2023
27832ee
Fix linting error
nitegeist Nov 17, 2023
70fa9cd
renamed Google Analytics environment variable & passed it through to …
dysbulic Nov 5, 2023
1660c91
Change Landing Page CTA (#1640)
nitegeist Nov 24, 2023
46b4221
Fixed MWW integration, removed more cruft
alalonde Aug 8, 2023
202adef
A min height makes the 'created by me' switch the same height as the …
HHH-GH Aug 15, 2023
ab54ef5
Fix up the repetition/cooldown.
HHH-GH Aug 18, 2023
08a6a65
Removed the external link field.
HHH-GH Aug 18, 2023
d1b39e8
Use QuestDetailsImage for the image preview
HHH-GH Aug 18, 2023
9ced0fa
Font for form headings matches new design
HHH-GH Aug 18, 2023
df4a92b
Basic appearance of Delete Quest modal
HHH-GH Aug 19, 2023
40800f3
Stub for Delete flow
HHH-GH Aug 25, 2023
f7a3581
Added DELETED option to Quest Status enum
HHH-GH Sep 12, 2023
2f69a43
Quests can be set as deleted using the useUpdateQuestMutation
HHH-GH Sep 23, 2023
8aee3f6
Change where questRoles and questSkills are assigned, use camelCase t…
HHH-GH Sep 24, 2023
3d3b5c1
Bring in the Chakra Alert components to use
HHH-GH Sep 24, 2023
e4d2398
Show a *Quest was deleted* alert if a deleted quest is viewed
HHH-GH Sep 24, 2023
b4b1f3e
Change quest status option from Deleted to Archived
HHH-GH Oct 25, 2023
bcd4f0a
Increased line height in quest tile heading to prevent clipping of de…
HHH-GH Oct 25, 2023
833c5ab
Updated schema
HHH-GH Nov 7, 2023
ac21353
background rehaul
Seroxdesign Nov 27, 2023
7fac319
fix onboarding game height, fix matrix animation
Seroxdesign Nov 29, 2023
b7efa39
Merge branch 'master' into develop
Seroxdesign Dec 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions .github/workflows/gcp-deploy-frontend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ jobs:
GRAPHQL_URL: ${{env.GRAPHQL_URL}}
FRONTEND_TAG: ${{env.FRONTEND_TAG}}
APP_ENV: ${{env.APP_ENV}}
GOOGLE_CAL_PROJECT_NUMBER: ${{env.GOOGLE_CAL_PROJECT_NUMBER}}
GOOGLE_CAL_CLIENT_EMAIL: ${{env.GOOGLE_CAL_CLIENT_EMAIL}}
GOOGLE_CAL_CALENDAR_ID: ${{env.GOOGLE_CAL_CALENDAR_ID}}

steps:
- name: First Interpolation of Variables
Expand Down Expand Up @@ -114,23 +117,18 @@ jobs:
needs: [env]

steps:
- name: "Checkout: ${{github.ref_name}}"
uses: actions/checkout@v2
with:
ref: ${{github.event.after}}

- name: Set Up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: "Login to Registry: ${{needs.env.outputs.DOCKER_REGISTRY}}"
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{needs.env.outputs.DOCKER_REGISTRY}}
username: _json_key
password: ${{secrets.GCP_SA_KEY}}

- name: "Build & Push Container Image: ${{needs.env.outputs.FRONTEND_TAG}}"
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
file: docker/frontend/Dockerfile
tags: ${{needs.env.outputs.FRONTEND_TAG}}
Expand All @@ -141,10 +139,15 @@ jobs:
FRONTEND_URL=${{needs.env.outputs.FRONTEND_URL}}
YOUTUBE_API_KEY=${{secrets.YOUTUBE_API_KEY}}
IMGIX_TOKEN=${{secrets.IMGIX_TOKEN}}
HONEYBADGER_API_KEY=${{secrets.HONEYBADGER_API_KEY}}
USERBACK_TOKEN=${{secrets.USERBACK_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
HONEYBADGER_API_KEY=${{secrets.HONEYBADGER_API_KEY}}
GOOGLE_ANALYTICS_ID=${{secrets.GOOGLE_ANALYTICS_ID}}
USERBACK_TOKEN=${{secrets.USERBACK_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
OPENSEA_API_KEY=${{secrets.OPENSEA_API_KEY}}
GCAL_PRIVATE_KEY=${{secrets.GCAL_PRIVATE_KEY}}
GCAL_CLIENT_EMAIL=${{secrets.GCAL_CLIENT_EMAIL}}
GCAL_PROJECT_NUMBER=${{secrets.GCAL_PROJECT_NUMBER}}
GCAL_CALENDAR_ID=${{secrets.GCAL_CALENDAR_ID}}
push: true

deploy-frontend:
Expand All @@ -170,7 +173,11 @@ jobs:
--memory 512Mi \
--ingress all \
--min-instances 1 \
--allow-unauthenticated
--allow-unauthenticated \
--set-env-vars GCAL_PRIVATE_KEY="${{secrets.GCAL_PRIVATE_KEY}}" \
--set-env-vars GCAL_PROJECT_NUMBER="${{secrets.GCAL_PROJECT_NUMBER}}" \
--set-env-vars GCAL_CLIENT_EMAIL="${{secrets.GCAL_CLIENT_EMAIL}}" \
--set-env-vars NEXT_PUBLIC_GCAL_CALENDAR_ID="${{secrets.GCAL_CALENDAR_ID}}"

finish-deployment:
name: Finish Deployment
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/gcp-deploy-persistent-instances.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ env:
FRONTEND_PORT: 3000
HASURA_SECRET: metagame_secret
APP_ENV: development
GOOGLE_CAL_PROJECT_NUMBER: 510169944888
GOOGLE_CAL_CLIENT_EMAIL: metagamecalwebsite@metagamecal.iam.gserviceaccount.com
GOOGLE_CAL_CALENDAR_ID: nih59ktgafmm64ed4qk6ue8vv4

jobs:
start-deployment:
Expand Down Expand Up @@ -93,6 +96,9 @@ jobs:
BACKEND_TAG: ${{env.BACKEND_TAG}}
HASURA_TAG: ${{env.HASURA_TAG}}
FRONTEND_TAG: ${{env.FRONTEND_TAG}}
GOOGLE_CAL_PROJECT_NUMBER: ${{env.GOOGLE_CAL_PROJECT_NUMBER}}
GOOGLE_CAL_CLIENT_EMAIL: ${{env.GOOGLE_CAL_CLIENT_EMAIL}}
GOOGLE_CAL_CALENDAR_ID: ${{env.GOOGLE_CAL_CALENDAR_ID}}

steps:
- name: First Interpolation of Variables
Expand Down Expand Up @@ -296,10 +302,12 @@ jobs:
FRONTEND_URL=${{needs.env.outputs.FRONTEND_URL}}
YOUTUBE_API_KEY=${{secrets.YOUTUBE_API_KEY}}
IMGIX_TOKEN=${{secrets.IMGIX_TOKEN}}
HONEYBADGER_API_KEY=${{secrets.HONEYBADGER_API_KEY}}
USERBACK_TOKEN=${{secrets.USERBACK_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
HONEYBADGER_API_KEY=${{secrets.HONEYBADGER_API_KEY}}
USERBACK_TOKEN=${{secrets.USERBACK_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
OPENSEA_API_KEY=${{secrets.OPENSEA_API_KEY}}
GOOGLE_CAL_API_KEY=${{secrets.GOOGLE_CAL_API_KEY}}
GOOGLE_CAL_PRIVATE_KEY=${{secrets.GOOGLE_CAL_PRIVATE_KEY}}
push: true

deploy-frontend:
Expand Down
41 changes: 19 additions & 22 deletions .github/workflows/gcp-deploy-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ env:
HASURA_PORT: 8080
FRONTEND_PORT: 3000
HASURA_SECRET: metagame_secret
GA4_ID: G-B1NKK3Q1BP
APP_ENV: development

jobs:
Expand Down Expand Up @@ -249,23 +248,18 @@ jobs:
needs: [env, delete-backend, undeploy-backend]

steps:
- name: "Checkout: ${{github.event.pull_request.head.label}}"
uses: actions/checkout@v3
with:
ref: ${{github.event.pull_request.head.sha}}

- name: Set Up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: "Login to Registry: ${{needs.env.outputs.DOCKER_REGISTRY}}"
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{needs.env.outputs.DOCKER_REGISTRY}}
username: _json_key
password: ${{secrets.GCP_SA_KEY}}

- name: "Build & Push Container Image: ${{needs.env.outputs.BACKEND_TAG}}"
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
file: docker/backend/Dockerfile
tags: ${{needs.env.outputs.BACKEND_TAG}}
Expand Down Expand Up @@ -361,17 +355,17 @@ jobs:
ref: ${{github.event.pull_request.head.sha}}

- name: Set Up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: "Login to Registry: ${{needs.env.outputs.DOCKER_REGISTRY}}"
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{needs.env.outputs.DOCKER_REGISTRY}}
username: _json_key
password: ${{secrets.GCP_SA_KEY}}

- name: "Build & Push Container Image: ${{needs.env.outputs.HASURA_TAG}}"
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
file: hasura/Dockerfile
context: hasura
Expand Down Expand Up @@ -459,23 +453,18 @@ jobs:
needs: [env, delete-frontend, undeploy-frontend, deploy-hasura, seed-db]

steps:
- name: "Checkout: ${{github.event.pull_request.head.label}}"
uses: actions/checkout@v3
with:
ref: ${{github.event.pull_request.head.sha}}

- name: Set Up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: "Login to Registry: ${{needs.env.outputs.DOCKER_REGISTRY}}"
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{needs.env.outputs.DOCKER_REGISTRY}}
username: _json_key
password: ${{secrets.GCP_SA_KEY}}

- name: "Build & Push Container Image: ${{needs.env.outputs.FRONTEND_TAG}}"
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
file: docker/frontend/Dockerfile
tags: ${{needs.env.outputs.FRONTEND_TAG}}
Expand All @@ -486,8 +475,12 @@ jobs:
FRONTEND_URL=${{needs.env.outputs.FRONTEND_URL}}
YOUTUBE_API_KEY=${{secrets.YOUTUBE_API_KEY}}
IMGIX_TOKEN=${{secrets.IMGIX_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
WEB3_STORAGE_TOKEN=${{secrets.WEB3_STORAGE_TOKEN}}
OPENSEA_API_KEY=${{secrets.OPENSEA_API_KEY}}
GCAL_PRIVATE_KEY=${{secrets.GCAL_PRIVATE_KEY}}
GCAL_PROJECT_NUMBER=${{secrets.GCAL_PROJECT_NUMBER}}
GCAL_CLIENT_EMAIL=${{secrets.GCAL_CLIENT_EMAIL}}
GCAL_CALENDAR_ID=${{secrets.GCAL_CALENDAR_ID}}
push: true

deploy-frontend:
Expand Down Expand Up @@ -519,7 +512,11 @@ jobs:
--memory ${{needs.env.outputs.FRONTEND_TARGET == 'development' && '5Gi' || '512Mi'}} \
--ingress all \
--max-instances 1 \
--allow-unauthenticated
--allow-unauthenticated \
--set-env-vars GCAL_PRIVATE_KEY="${{secrets.GCAL_PRIVATE_KEY}}" \
--set-env-vars GCAL_PROJECT_NUMBER="${{secrets.GCAL_PROJECT_NUMBER}}" \
--set-env-vars GCAL_CLIENT_EMAIL="${{secrets.GCAL_CLIENT_EMAIL}}" \
--set-env-vars NEXT_PUBLIC_GCAL_CALENDAR_ID="${{secrets.GCAL_CALENDAR_ID}}"

seed-db:
name: Seed Database
Expand Down
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
16.20.1
20
6 changes: 3 additions & 3 deletions docker/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
FROM node:16-slim as base
FROM node:20-slim as base
WORKDIR /usr/src/app

# Install dependencies not included in the slim image
RUN apt-get update && \
apt-get install -y --no-install-recommends g++ make python git openssl && \
apt-get install -y --no-install-recommends g++ make python3 git openssl && \
apt-get install -y --no-install-recommends --reinstall ca-certificates

# Install dependencies for dev and prod
Expand Down Expand Up @@ -44,7 +44,7 @@ RUN yarn backend:build
RUN yarn install --pure-lockfile --production --ignore-scripts --prefer-offline

# Create completely new stage including only necessary files
FROM node:16-slim as app
FROM node:20-slim as app
WORKDIR /app

# Copy necessary files into the stage
Expand Down
6 changes: 3 additions & 3 deletions docker/discord-bot/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
FROM node:16-slim as base
FROM node:20-slim as base
WORKDIR /usr/src/app

# Install dependencies not included in the slim image
RUN apt-get update && \
apt-get install -y --no-install-recommends g++ make python git openssl && \
apt-get install -y --no-install-recommends g++ make python3 git openssl && \
apt-get install -y --no-install-recommends --reinstall ca-certificates

# Install dependencies for dev and prod
Expand Down Expand Up @@ -38,7 +38,7 @@ RUN yarn discord-bot build
RUN yarn install --pure-lockfile --production --ignore-scripts --prefer-offline

# Create completely new stage including only necessary files
FROM node:16-slim as app
FROM node:20-slim as app
WORKDIR /app

# Needed at runtime
Expand Down
17 changes: 13 additions & 4 deletions docker/frontend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
# site or dev environment respectively.
ARG TARGET=production

FROM node:16-slim AS base
FROM node:20-slim AS base
WORKDIR /usr/src/app

# Install dependencies not included in the slim image
RUN apt-get update && apt-get install -y --no-install-recommends g++ make python git ca-certificates
RUN apt-get update && apt-get install -y --no-install-recommends g++ make python3 git ca-certificates

# Install dependencies for dev and prod
COPY package.json ./
Expand All @@ -26,7 +26,6 @@ COPY packages/web/graphql ./packages/web/graphql/
COPY packages/utils/*.json ./packages/utils/
COPY packages/design-system/*.json ./packages/design-system/

RUN yarn policies set-version 1.15.2
RUN yarn install --pure-lockfile

FROM base AS build
Expand All @@ -47,10 +46,15 @@ ARG FRONTEND_URL https://metagame.wtf
ARG IMGIX_TOKEN
ARG YOUTUBE_API_KEY
ARG HONEYBADGER_API_KEY
ARG GOOGLE_ANALYTICS_ID
ARG USERBACK_TOKEN
ARG CERAMIC_URL https://ceramic.metagame.wtf
ARG WEB3_STORAGE_TOKEN
ARG OPENSEA_API_KEY
ARG GCAL_CALENDAR_ID
ARG GCAL_PRIVATE_KEY
ARG GCAL_CLIENT_EMAIL
ARG GCAL_PROJECT_NUMBER

# ARGs are not available at runtime, so define ENV variables
# These ENVs should match the --set-env-vars in `.github/workflows/gcp-deploy.yaml`
Expand All @@ -61,11 +65,16 @@ ENV NEXT_PUBLIC_FRONTEND_URL $FRONTEND_URL
ENV NEXT_PUBLIC_IMGIX_TOKEN $IMGIX_TOKEN
ENV NEXT_PUBLIC_YOUTUBE_API_KEY $YOUTUBE_API_KEY
ENV NEXT_PUBLIC_HONEYBADGER_API_KEY $HONEYBADGER_API_KEY
ENV NEXT_PUBLIC_GOOGLE_ANALYTICS_ID $GOOGLE_ANALYTICS_ID
ENV NEXT_PUBLIC_USERBACK_TOKEN $USERBACK_TOKEN
ENV NEXT_PUBLIC_CERAMIC_URL $CERAMIC_URL
ENV NEXT_PUBLIC_GCAL_CALENDAR_ID $GCAL_CALENDAR_ID
# These are not exposed to the browser
ENV WEB3_STORAGE_TOKEN $WEB3_STORAGE_TOKEN
ENV OPENSEA_API_KEY $OPENSEA_API_KEY
ENV GCAL_PRIVATE_KEY $GCAL_PRIVATE_KEY
ENV GCAL_CLIENT_EMAIL $GCAL_CLIENT_EMAIL
ENV GCAL_PROJECT_NUMBER $GCAL_PROJECT_NUMBER

ONBUILD RUN yarn web:build
# Delete devDependencies
Expand All @@ -77,7 +86,7 @@ ONBUILD RUN yarn web:deps:build
FROM "build-$TARGET" as built

# New stage including only necessary files
FROM node:16-slim AS app
FROM node:20-slim AS app
WORKDIR /app

# Copy necessary files into the stage
Expand Down
Loading
Loading