Skip to content
This repository was archived by the owner on Oct 3, 2025. It is now read-only.

Conversation

@tylers-username
Copy link
Collaborator

@tylers-username tylers-username commented Sep 30, 2025

  • Performance improvements
    • Switch NPM to Bun
    • Switch pip to uv
  • Potential performance
    • Upgrade node.js from 18 to 22
  • Pipeline stuff: The demo will support a single python and node.js version. Reduce pipeline tests to supported versions.
  • Passing tests

The demo runthrough pipeline has consistently shown a reduction of ~1 minute for first deployment completions (upsun push -> deployed)

The demo runthrough pipeline has consistently shown that subsequent deployments (merge, branch, etc) take about ~1m15s

@github-actions
Copy link

Hello, and thank you for contributing to the Upsun demo project!

Setting up tests

Until all tests pass, a pull request will not be merged.

Build tests for combinations of Python and Node.js will happen automatically, and must pass in order to merge.
Another test will actually runthrough all steps of the demo on a new project, but requires a repository admin to add the runthrough label to the pull request.

Failing tests

If your PR is failing, see the Running tests section of the README for troubleshooting details.

Reviewing these changes locally:

  1. Clone this repo

    git clone -b improvement/backend-frontend-build-time git@github.com:platformsh/demo-project.git demo-test-improvement/backend-frontend-build-time && cd demo-test-improvement/backend-frontend-build-time
  2. Create a project on Upsun:

    upsun project:create --title "Demo Project test (pr-438/merge)" --default-branch improvement/backend-frontend-build-time

    This command will set the local repository remote automatically, but you will need to specify the organization and region.

  3. Push to Upsun:

    upsun push

Copy link
Collaborator

@pjcdawkins pjcdawkins left a comment

Choose a reason for hiding this comment

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

bun.lockb is an older format:

https://bun.com/docs/install/lockfile

Bun v1.2 changed the default lockfile format to the text-based bun.lock. Existing binary bun.lockb lockfiles can be migrated to the new format by running bun install --save-text-lockfile --frozen-lockfile --lockfile-only and deleting bun.lockb.

@tylers-username
Copy link
Collaborator Author

bun.lockb is an older format:

https://bun.com/docs/install/lockfile

Bun v1.2 changed the default lockfile format to the text-based bun.lock. Existing binary bun.lockb lockfiles can be migrated to the new format by running bun install --save-text-lockfile --frozen-lockfile --lockfile-only and deleting bun.lockb.

@pjcdawkins this has been corrected

@tylers-username
Copy link
Collaborator Author

tylers-username commented Oct 1, 2025

bun.lockb is an older format:
https://bun.com/docs/install/lockfile

Bun v1.2 changed the default lockfile format to the text-based bun.lock. Existing binary bun.lockb lockfiles can be migrated to the new format by running bun install --save-text-lockfile --frozen-lockfile --lockfile-only and deleting bun.lockb.

@pjcdawkins this has been corrected

Just noticed that Upsun apps use version 1.1 of bun which may be incompatible with this lock file version.

This below corrects the issue, but I just encountered my first test that was back to 2.5 minutes. However, it's unclear if it was due to this change or due to deploying at a time where services were weighed down a bit.

        dependencies:
          nodejs:
            bun: "v1.2.23"

@pjcdawkins
Copy link
Collaborator

I think it should continue to work with the built in bun (1.1) and the text lock file, 1.2 just made the text file default

@tylers-username tylers-username marked this pull request as draft October 1, 2025 12:14
auto-merge was automatically disabled October 1, 2025 12:14

Pull request was converted to draft

@tylers-username
Copy link
Collaborator Author

I think it should continue to work with the built in bun (1.1) and the text lock file, 1.2 just made the text file default

I set my local bun to match Upsun's default Bun version and reverted the Upsun config to use Upsun's default bun version. How do you feel about the latest state of this mr @pjcdawkins ?

@tylers-username tylers-username marked this pull request as ready for review October 1, 2025 16:40
@tylers-username tylers-username merged commit 730f4fa into main Oct 2, 2025
2 checks passed
@tylers-username tylers-username deleted the improvement/backend-frontend-build-time branch October 2, 2025 08:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants