-
Notifications
You must be signed in to change notification settings - Fork 34
Conversation
By the way, you can remove the |
@joefitzgerald Can you link to an example of these scripts working on a package? Are you using these on go-plus now? |
@joefitzgerald ❤️ This is great. Getting things working on linux is huge. I think that for most packages, building on both linux and osx might add more slowness than it's worth, since package code usually doesn't depend strongly on the OS. What do you think about just commenting out the |
OS X is actually where I've seen the most issues (Mainly due to it's silly path handling), and as Travis is the easiest place to get it testing on I really think it should be left on there. Besides, the builds run in parallel so it doesn't add that much total time to run both 😉 |
I think it does add significant time, because w/ 4 builds running for every commit instead of 1, builds are likely to remain queued for a long time before they start. Am I missing something? Regarding OSX's case-insensitive paths, that's an interesting point. I haven't come across many issues due to that, but I can see how it would be an issue for certain packages. |
Actually I was referring to how if launched from the GUI it has no environment (thus utilities can't be found), while if you launch if from a terminal it properly inherits that environment. In the I've only been testing with 2 builds, 4 probably does take longer to queue. |
I see. That makes more sense. Doesn't travis launch it from the terminal anyway though, regardless of platform? |
Yea, that aspect isn't really tested here, I've only seen one issue that was OS X specific that was exposed on Travis. |
@maxbrunsfeld it's important to note that the package author:
I think it would be better to err on the side of testing more, and let package authors opt out if they run into issues with builds backing up. Look here for an example of elapsed duration for a typical package (which does relatively complex things in the install phase related to We're talking about < 2 minute build times. |
@Arcanemagus Take a look at https://atom.io/packages/environment. It provides a service that - if consumed - will be sane, even if launched from |
https://travis-ci.org/joefitzgerald/go-config/builds/92339238 |
export CI_APM_SCRIPTNAME="apm-$ATOM_CHANNEL" | ||
fi | ||
export CI_ATOM_SH="/usr/bin/$CI_ATOM_SCRIPTNAME" | ||
export CI_APM_SH="/usr/bin/$CI_APM_SCRIPTNAME" |
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.
What does SH
stand for in these variable names? What do you think of these names:
ATOM_SCRIPT_NAME
ATOM_SCRIPT_PATH
APM_SCRIPT_NAME
APM_SCRIPT_PATH
Regarding the CI
prefix, I'd probably leave it off unless you know of a specific case where it would collide with some other known ATOM_
environment variable.
sudo apt-get install xdg-utils -qq | ||
sudo apt-get install libcap2 -qq | ||
sudo apt-get install gdebi-core -qq | ||
sudo apt-get update -qq |
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 see you call apt-get update
before and after installing all the packages. Do you need to apt-get update
again afterwards?
👍 That's awesome to see. OK, I see your point about package authors generally having plenty of queue space. I left a bunch of pretty minor feedback, but other than that, I'm down to merge this asap. 📈! |
Sooo, I figured out how to run in containerized infrastructure! Linux builds now ~50% shorter: https://travis-ci.org/joefitzgerald/go-config/builds/92351552 🎉 Also, addressed your suggestions @maxbrunsfeld. |
😭 🌈 Tears of joy. Brilliant. |
curl -s -L "https://atom.io/download/mac?channel=$ATOM_CHANNEL" \ | ||
-H 'Accept: application/octet-stream' \ | ||
-o "atom.zip" | ||
ATOM_DOWNLOAD_URL="https://atom.io/download/mac?channel=$ATOM_CHANNEL" |
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.
You can 🔥 this variable now.
|
Thanks @joefitzgerald! |
🐧 💚 💯 |
This PR:
alpha
) then it should Just Work™In the future, further enhancement could be possible on Linux if there were a .deb repository for atom's .deb releases:
sudo: true
to besudo: false
to use Travis' container based infrastructure/cc @nathansobo @kevinsawicki @thedaniel