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

CI: switch to GitHub Actions #402

Merged
merged 3 commits into from
Jan 20, 2021
Merged

CI: switch to GitHub Actions #402

merged 3 commits into from
Jan 20, 2021

Conversation

drakkan
Copy link
Collaborator

@drakkan drakkan commented Dec 8, 2020

GitHub actions have some missing features compared to Travis but they are much faster.

Please take a look at the build times here:

https://github.com/drakkan/sftp/actions

the build starts as soon as we push a new commit, travis seems to wait more than hour before starting the build (at least today)

@drakkan drakkan force-pushed the ghactions branch 2 times, most recently from 808b138 to 0247423 Compare December 8, 2020 12:48
@drakkan
Copy link
Collaborator Author

drakkan commented Dec 8, 2020

Probably travis will work as before if we switch to travis.com but before switching please read here:

https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

@gerrith3
Copy link

gerrith3 commented Dec 8, 2020

@drakkan Read this one as well: https://blog.travis-ci.com/oss-announcement - and let me know if you want help escalating any additional request for credits.

@drakkan
Copy link
Collaborator Author

drakkan commented Dec 9, 2020

GitHub actions have some missing features compared to travis, for example:

  • allow failure is different from travis, this could be an issue for the go tip build, see here
  • only amd64 is supported, to build for other archs you have to use qemu or similar tricks. For example see here, I use xgo for cross building and qemu for arm64 and ppc64le docker images.

I have no particular preferences, Travis is fine for me, I just want a CI that works and currently doesn't.
@puellanivis @eikenb @davecheney, other maintainers, what do you think about? Thank you

@puellanivis
Copy link
Collaborator

:( I hate to hear that it’s not supporting architectures other than amd64… but I suppose that it’s the worst thing ever.

@drakkan
Copy link
Collaborator Author

drakkan commented Dec 9, 2020

:( I hate to hear that it’s not supporting architectures other than amd64… but I suppose that it’s the worst thing ever.

If we decide to switch to GitHub actions I can try to run the test cases on arm64 and ppc64le using an action such as this one or something similar.

Let's wait a few more days to see if other maintainers want to help choose.

@drakkan
Copy link
Collaborator Author

drakkan commented Dec 9, 2020

:( I hate to hear that it’s not supporting architectures other than amd64… but I suppose that it’s the worst thing ever.

I made some attempts to run test cases on arm64 and ppc64le too, here is the updated workflow and here you can view the results.

There are issues with the race detector tests:

  • on arm64 I have this error FATAL: ThreadSanitizer: unsupported VMA range, I have the same error on real hw so I think race detector is not supported on arm64
  • on ppc64le the race detector works on real hw but it timeouts on qemu, see here

I'm not sure if push these changes here too, thank you

install: |
apt-get update -q -y
apt-get install -q -y curl gcc make openssh-sftp-server
GO_VERSION=$(curl https://golang.org/VERSION?m=text)
Copy link
Collaborator

Choose a reason for hiding this comment

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

So, we run the integration tests for 1.14 and 1.15 for x86_64, and then run the other architectures only on the most recent version? (Which would jump automatically at 1.16?)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, correct

@davecheney
Copy link
Member

Travis is dead, I don’t see any value in not switching to GitHub actions and feel confident that the behaviour of this library is not architecture dependant so shouldn’t suffer from being tested on one architecture

@drakkan
Copy link
Collaborator Author

drakkan commented Jan 19, 2021

Travis is dead, I don’t see any value in not switching to GitHub actions and feel confident that the behaviour of this library is not architecture dependant so shouldn’t suffer from being tested on one architecture

I agree, I think it would be more useful to try running CI on Windows but this is a separate issue.

do we want to switch to GitHub actions and only support amd64? @puellanivis do you agree?

@puellanivis
Copy link
Collaborator

I am ambivalent about switching. I have hardly noticed the functionality on the repo anyways. 😆 Since travis is dying, let’s go ahead and move.

@drakkan
Copy link
Collaborator Author

drakkan commented Jan 19, 2021

I am ambivalent about switching. I have hardly noticed the functionality on the repo anyways. Since travis is dying, let’s go ahead and move.

Ok, I'll remove arm and ppc64 and arm support from this commit and I'll push the change later today or tomorrow, thank you

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

Successfully merging this pull request may close these issues.

4 participants