-
Notifications
You must be signed in to change notification settings - Fork 607
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
Node 20: Docker, package.json dependency updates, README enhancements, and general bugfixes and enhancements for developer experience. #1523
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
this loads the custom docker image, built with buildx, into local system container namespace. necessary when updating dockerfile without the option to publish to docker registry.
`genConfig` is now `makeConfig` and is ultimately used in `backstop init`. There is no need to test this separately, as it's part of the overall flow of `init`, which is now used in npm's `integration-test` script, and passing.
This was originally part of the `gulp` workflow, back in the `slimer` and `casper` days. https://github.com/garris/BackstopJS/blob/b00ab5bf358fcb3b77724ac4ef10b30e86b5188d/core/command/echo.js
…on, smoke, and sanity tests This provides a final outcome message for all npm scripts for internal project testing. With tests that `exit 1`, a caution message is used, as opposed to a full-blown "FAIL".
also renames "docker-load" script "load-docker" to align with other script naming conventions
dgrebb
changed the title
Feature/34 node 20
Node 20: Docker, package.json dependency updates, README enhancements, and general bugfixes and enhancements for developer experience.
Dec 15, 2023
Thank you @dgrebb for this big refresh! Cheers! |
This was referenced Dec 15, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@garris happy Friday!
Here is the (drafted) PR for Node 20 support, and Node 14 deprecation. Test results and CI/CD can be seen here.
@OssamaSijbesma had already addressed the image updates to Node 20 in PR #1513. Thanks @OssamaSijbesma!
Please let me know if you'd like to discuss this week, would like any changes, and have any feedback in general :)
Passing Tests
I set up a collection of GitHub Actions workflows, to make testing awareness and communication more streamlined for the project. More on that in a separate PR :)
The above results are from a testing-only branch, which is rebased from my
develop
to include the GitHub testing workflows. This branch doesn't have actions merged in, so it can't be tested without polluting the PR.Happy to explain more, but perhaps an image will suffice!
Backstop Tests
Docker Tests
The Node 20 Docker image is available here, and can be tested locally via:
This assumes
--platform linux/arm64
. Please update to test on non-arm architecture!Also, one may need to change the
--mount
source
value back tocwd
— I wasn't sure why that is used in the README example for running against a custom image.Note
The above docker image and test results are in a
develop
rebased branch for testing only.The
Dockerfile
in this branch is set to usedgrebb/BackstopJS#feature/34-node-20
as the installation source forbackstopjs
. This was needed to demonstrate passing tests with the latest changes, inside GitHub Actions (coming soon in another PR).This closes #34.
Details
Change Summary
This comes with many dependency updates, formatting adjustments, a README refactor,
Dockerfile
updates, and general bugfixes, removals, and enhancements. Here's the tl;dr:eslint-disable
where neededengines
inpackage.json
Dockerfile
npx playwright install --with-deps
inDockerfile
npm
script:integration-test
load-docker
npm script for local testing of built docker imagesload-docker
genConfig
npm scriptmakeConfig
, akabackstop init
)I can squash the 14 commits down into one with a longer description attached to the squash-commit. Let me know and it shall be done!
Next Steps
README.md Updates
While updating the README, I thought it could use a refresh. Happy to revert this if needed.
I'm using a handy VSCode Markdwon plugin for TOC generation, which automatically creates and updates based on comments and
.vscode/settings.json
configuration. Happy to share details if curious!HTML Report Development
Added a warning here that currently builds are broken and updates are in progress to fix webpack, update React, etc.
Docker
Added a note about
load-docker
npm script to build/run Dockerfile changes locally without publishing.General Spacing/Indentation/Enhancements
Removed some legacy, commented-out sections from the README, which I think are OK to keep in git history for now?
Removed
$
in command examples that users will likely want to copy/paste.Converted scenario properties section to a markdown table.
Converted
onBeforeScript
/onReadyScript
variable list to a markdown table.Added some fancy GitHub-flavored markdown
blockquote
highlights. Great for "warnings", "tips", and other callouts.Notes
Critical Vulnerability in
mockery
The maintainer of
mockery
has not addressed this yet, but a patch is open. Please let me know if you're interested in addingpatch-package
and apatches
directory to address this. Happy to set that up!