Skip to content
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

Add .cirrus.yml for FreeBSD (amd64, i386) CI/CD #2911

Draft
wants to merge 22 commits into
base: master
Choose a base branch
from

Conversation

saper
Copy link
Member

@saper saper commented Apr 30, 2020

This is an update to #2592

am11 and others added 21 commits February 5, 2019 07:36
For each pull request, it triggers a job consists of 'node.js version x
architecture' matrix.
When a tag is pushed, it creates a release idempotently, and publishes
artifacts to the release.

The versions of node.js and npm packages are selected from package
management. This is because node.js official distribution does not
(yet) offer FreeBSD binaries and `nvm` spends too much time compiling
node.js and npm from source.

`pkg` does not support installation of old version of packages with
`pkg-install` command, so the `pkg-add` approach has been elected to
install older node.js. For that matter, the exact version of node.js
and npm packages are resolved using pattern matching.

`cbsd` is used to create an i386 jail environment.

Co-authored-by: Oleg Ginzburg <olevole@olevole.ru>
In FreeBSD VM hosted on Google GCE, with `pkg search` command, it fails
to retrieve the latest list even after `pkg update -f` with `latest`
repository selected (checked with `pkg -vv search`). There seems to be
some caching mechanism involved, which I couldn't find a way to avoid.
../node_modules/nan/nan.h:55:10: fatal error: 'uv.h' file not found
Copy link
Contributor

@nschonni nschonni left a comment

Choose a reason for hiding this comment

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

I took a look at https://github.com/marketplace/cirrus-ci/plan/MDIyOk1hcmtldHBsYWNlTGlzdGluZ1BsYW45OTA=#pricing-and-setup but I think @xzyfer will need to setup the hook since I couldn't see it in my dropdowns

@@ -0,0 +1,85 @@
#!/usr/bin/env sh

set -o xtrace
Copy link
Contributor

Choose a reason for hiding this comment

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

set -e?

Copy link
Member Author

Choose a reason for hiding this comment

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

I planned to rewrite both of those shell scripts but forgot about them (didn't test upload either). Resetting to draft. Thanks!


env:
matrix:
- package: npm-node10
Copy link
Contributor

Choose a reason for hiding this comment

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

How do we expand out the matrix to the other versions we currently list as supported for FreeBSD?

Copy link
Member Author

Choose a reason for hiding this comment

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

You are right, I forgot it. Back to work :)

Copy link
Contributor

Choose a reason for hiding this comment

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

We can limit this to v5 also to make our lives a bit easier.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've been only building binaries for node version currently in the FreeBSD ports tree, which are 10, 12 and 13 now. Pushed the commit to expand the matrix.

Copy link
Contributor

Choose a reason for hiding this comment

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

We can drop 10 now, but it would be good to try and get 12, 14, 16, 17 to match the other platforms

@saper saper marked this pull request as draft May 1, 2020 07:37
@xzyfer
Copy link
Contributor

xzyfer commented May 1, 2020

I think I've clicked all the buttons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants