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
Enhance CI/CD workflow with Yarn 3, Node.js 14, and GitHub Actions #799
Conversation
I suggest including the lock files 'package-lock.json' or 'yarn.lock' in the repository by removing them from the '.gitignore' file. What are your thoughts on this? |
Including package-lock.json is a good idea, yes! It is intended to be committed to VCS. I am unsure about the variance in development platforms however. During the CI runs for this PR I extracted npm-shrinkwrap.json and performed a diff between Linux, Mac, and Windows builds. There are many changes between each platform, mostly package signatures such as:
There are however also specific package differences (I assume for the included binaries) such as:
This leads me to think that package-lock.json will differ between OS builds, and since the community here has contributors from many platforms we could see frequent changes to package-lock.json that revert previous changes. Perhaps this won't cause any problems. If it does become an issue, we could explore a unified development environment in a Docker container or something. This PR currently provides evidence of package versions in a given CI run, which satisfies the original ask. I'm ok with either option, adding package-lock.json or continuing to ignore it. Your preference? |
The first question should maybe be npm or yarn? It shouldn't really be npm for development and yarn for CI. |
Reading through the npm shrinkwrap doc. When the library is a global commend line tool / dev dependency, you will want to lock down dep versions to make it stable as possible. In case of cncjs, it's a desktop application, in most cases users won't need the published |
I intend to use Yarn as the package manager, as I am familiar with it and have used it extensively on recent projects." I will perform a test in a separate branch ( |
Both Yarn 3 and Node.js 14 have been successfully upgraded. The build results can be viewed at the following link: https://ci.appveyor.com/project/cheton/cncjs/history In addition, I plan to create a new pull request to migrate the CI pipeline from AppVeyor to GitHub actions for further efficiency. |
…ompatible architecture with macOS 10.15
2ecee88
to
f9fb72d
Compare
Impressive work @cheton 🚀 |
cdff0d5
to
c1acf88
Compare
e84e170
to
2de630d
Compare
Published v1.10.0 🚀 What's Changed
HighlightThis release includes the following upgrades and changes:
New Contributors
Full Changelog: v1.9.28...v1.10.0 |
Generates an npm-shrinkwrap.json file during releases, adds it to Appveyor artifacts where it will live for 1 month post-CI-run, and hopefully deploys it to Github releases.
We'll test this in an upcoming tag where we include #796.
Resolves #794.