SSWConsulting / SSWConsulting/SSW.Website

🚀Build Pipeline - Build tina-lock.json file in pipeline

Open
#3,733 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
14
Forks
10
Avg merge
13h 51m
Merged PRs (30d)
38

Description

CC: @wicksipedia, @amankumarrr, @babakamyljanovssw

❌The Pain

Making any schema changes on the website requires developers to re-run the project locally to rebuild the tina-lock.json file. This can be tedious and has resulted in bugs slipping through to production if the tina-lock file is out of sync with our tina/config.tsx file.

💡The solution

Our build pipeline already runs tinacms build, part of the process of this command generating a new lock file. We theoretically add a step in our build pipeline to commit the tina-lock.json generated to the feature branch the action is running on. This would prevent an out of date lock file from ever being committed.

Additional context

The contents of the tina-lock.json file are arbitrary, it's simply used by tina cloud to understand which fields are editable when indexing a branch. The tina/config.tsx file is used to generate the lock file, making it the ultimate source of truth.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tina/config.tsx and the existing build pipeline entry point, then inspect how tinacms build generates tina-lock.json. Determine how the generated file could be committed to the feature branch without disrupting the pipeline. Done means schema changes produce and commit an up-to-date tina-lock.json automatically.

Written by the indexing model from the issue text.

Assessment

Tech stack
nextjs, typescript
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.