-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Build Debian package #379
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
Build Debian package #379
Conversation
|
||
steps: | ||
- uses: actions/checkout@master | ||
- uses: actions/download-artifact@master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea here was that instead of building Yarn multiple times, it's instead just built once, and other jobs retrieve the built artifacts. However, this also means that the Debian package build can't start until all the unit and integration tests finish running. I might just deal with it building multiple times.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's fine to rebuild it, as they are run in parallel anyway. Maybe later we could find a solution to only build it once for all the workflows (not only the jobs in one workflow).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, will do.
|
||
# Debian packages | ||
RUN apt-get -y update && \ | ||
apt-get install -y --no-install-recommends \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly the same as https://github.com/yarnpkg/yarn/blob/master/Dockerfile.dev
@@ -0,0 +1,66 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of this is the same as https://github.com/yarnpkg/yarn/blob/master/scripts/build-deb.sh
# lib/async.js in node_modules | ||
yarn-next: embedded-javascript-library | ||
# No manpage... yet! | ||
yarn-next: binary-without-manpage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copied directly from yarn v1. Need to double check if all of these are still needed - A lot of them were due to node_modules
junk.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were those tags meant to describe the yarn
package itself, or what it installed? We didn't have a node_modules
in the deb file, right? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@arcanis - lintian
is a linter for Debian packages, and this is a list of the ignored lint rules for the resulting package. These overrides were added before we included a bundle in the Debian package, so many are outdated now.
Is that necessary? What could cause it to break? Since we're now using mostly integration tests, the CLI itself is fairly well tested and there's little risks we would accidentally break the rpm. What I would suggest would be to move it inside of its own workflow file, and use a trigger to only build it on PRs that touch the relevant files ( |
This is a really good idea. Will do when I get a chance! I was thinking of the nightly builds too, but now they can actually be scheduled nightly builds (max one per day) rather than just all master builds, and we can build all the packages only for the scheduled builds rather than for every PR and master commit. |
Note that nightly builds are a bit less important on the v2 (at least for the main bundle) because we will have |
I think this is ready for review now, I just need to figure out how to make it run as part of the release. I've tested the package on Ubuntu 18.04 (current LTS), Ubuntu 19.04 (latest release), and CentOS 7. |
This reverts commit f533868.
This reverts commit f533868.
This reverts commit f533868.
This reverts commit f533868.
* ci: delete snowpack e2e test * ci: delete vue-cli e2e test * revert: "Build Debian package (#379)" This reverts commit f533868. * fix: fixing erased files Co-authored-by: merceyz <[email protected]>
* ci: delete snowpack e2e test * ci: delete vue-cli e2e test * revert: "Build Debian package (#379)" This reverts commit f533868. * fix: fixing erased files Co-authored-by: merceyz <[email protected]>
What's the problem this PR addresses?
Adds a GitHub Action to build the Debian and RPM packages for Yarn.
TODO:
.cmd
wrapper to tarball for WindowsHow did you fix it?
A lot of the logic has been copied the from Yarn v1 repo, with a few changes made to allow it to run using GitHub Actions.
Which packages would need a new release (if any)?
N/A
Have you run
yarn version prerelease
in those packages?N/A