Skip to content

Simplify frontend CI build and container #3118

Open

Description

Problem

The frontend build relies on an additional build context and attempts to build the frontend in a shimmed pnpm workspace. This has two problems:

  • Complexity due to multiple build contexts
  • Complexity due to juggling manual changes to the pnpm workspace configuration

If we extract any aspects of our application into packages, then the current approach would also require manually adding those packages to the pnpm workspace configuration and shimming a new root package.json that referenced the packages in a way that made it possible to include them.

It all boils down to complexity, because we're building the frontend without leveraging the existing workspace configuration. I believe the reason we did this was to simplify the switch to the monorepo.

Description

#3141 has a first-pass/demo/draft approach. That PR mostly worked at the time (it has merge conflicts now), but the pnpm caching configuration did not. It would be excellent if we could get the pnpm caching to work during the build, as right downloading packages consumes a good deal of time in the build.

Follow the approach started in that PR, which is based on the Docker build described in pnpm's documentation: https://pnpm.io/docker

Additional context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status

      📋 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions