Skip to content

Conversation

@nclsndr
Copy link
Contributor

@nclsndr nclsndr commented Nov 17, 2025

What does it do?

  • Upgrading demo/.strapi-app strapi version to 5.31.0
  • Add a GitHub action to update the version over a PR every Wed night (after Strapi weekly release)

Why is it needed?

  • Making sure any work done testing on client uses the latest Strapi.

How to test it?

Launch demo app: cd demo/.strapi-app && pnpm i && pnpm develop

Related issue(s)/PR(s)

@nclsndr nclsndr self-assigned this Nov 17, 2025
@nclsndr nclsndr added the pr: chore Cleanups / dependencies / tooling / styling label Nov 17, 2025
@nclsndr nclsndr changed the title Chore/upgrade demo strapi chore: auto-upgrade demo strapi Nov 17, 2025
Copy link
Member

@Convly Convly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the issue with using latest here?

@nclsndr
Copy link
Contributor Author

nclsndr commented Nov 17, 2025

What was the issue with using latest here?

@Convly - The exact version is still pinned into the pnpm lock file, hiding the actual installed version from our eyes (since the lock file is long, GH previews are usually disabled by default).
I feel it's simpler to keep track with the version declared in package.json, with the automation attached, it would make the maintenance trivial.

@nclsndr nclsndr requested a review from Convly November 17, 2025 13:27
@innerdvations
Copy link
Contributor

going off @Convly 's comment, how about we keep it latest but have the script run pnpm up periodically?

@nclsndr nclsndr force-pushed the chore/upgrade-demo-strapi branch from 9c82477 to 6372eb5 Compare November 20, 2025 09:25
- name: Get current version from package.json
id: current-version
run: |
CURRENT_VERSION=$(node -p "require('./demo/.strapi-app/package.json').dependencies['@strapi/strapi']")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With exact version being listed in package.json, it allows the action to use it as state and derive the comparison from it.
If we go back to latest, we'd have to either:

  • pnpm install then pnpm up ...@latest then, look into the node_modules/@strapi/strapi/package.json to observe a diff, then conditionally make the PR.
  • Rely on reading the lock file with a regex to match the @strapi/strapi version declaration, which I find clunky

@Convly @innerdvations can you detail the rationale/preference behind keeping latest instead of a pinned version?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no strong opinion here, but I think I have to agree with Nico here regarding pinned versions in package.json
Having explicit versions in the diff makes it much easier to see what actually changed. It’s valuable for debugging and for understanding compatibility issues across both sides.

That said, I’d also suggest running the update job more frequently than once a week on Wednesday. We sometimes release on Thursdays, and we occasionally ship hotfixes as well. A more frequent schedule (e.g. daily ) would keep the example app synced much more reliably and reduce the lag between Strapi releases and the example’s updates.

@nclsndr nclsndr force-pushed the chore/upgrade-demo-strapi branch from 6372eb5 to bb58b19 Compare November 24, 2025 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: chore Cleanups / dependencies / tooling / styling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants