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

Use GitHub Workflow for CI #38

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Use GitHub Workflow for CI #38

wants to merge 13 commits into from

Conversation

RobertRosca
Copy link
Member

No description provided.

@RobertRosca RobertRosca requested a review from takluyver March 25, 2022 10:11
@RobertRosca
Copy link
Member Author

@takluyver Tests 'work' as in they actually run properly, but some are failing, any idea why?

@takluyver
Copy link
Member

One nice thing that Circle CI offers, and as far as I know no other CI service does, is that when a job fails, you can re-run it with an SSH server enabled, then SSH in to investigate interactively. This has been useful on occasion with testing the GUI - if something hangs, you can SSH with X forwarding, run in the exact same environment, and see what's happening.

I haven't used this very often, so maybe the benefits of Github actions outweigh it, but it's worth noting that there's some downside here. You might want to see what @CammilleCC thinks, as the person now mostly responsible for the GUI code.

@RobertRosca
Copy link
Member Author

RobertRosca commented Apr 7, 2022

One nice thing that Circle CI offers, and as far as I know no other CI service does, is that when a job fails, you can re-run it with an SSH server enabled, then SSH in to investigate interactively. This has been useful on occasion with testing the GUI - if something hangs, you can SSH with X forwarding, run in the exact same environment, and see what's happening.

There is an action for this: https://github.com/marketplace/actions/debugging-with-ssh

Which can use the public SSH keys you have added to your GitHub profile to let you access the CI as it runs.

I haven't used this very often, so maybe the benefits of Github actions outweigh it, but it's worth noting that there's some downside here. You might want to see what @CammilleCC thinks, as the person now mostly responsible for the GUI code.

TBH I think that it should be simple to reproduce the CI environments locally, at the top of the CI log you can see the information about the environment setup:

 Current runner version: '2.289.2'
Operating System
  Ubuntu
  20.04.4
  LTS
Virtual Environment
  Environment: ubuntu-20.04
  Version: 20220405.4
  Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20220405.4/images/linux/Ubuntu2004-Readme.md
  Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20220405.4
Virtual Environment Provisioner
  1.0.0.0-main-20220325-1

And there's the the act tool to run the CI locally: https://github.com/nektos/act

act is pretty neat, it's extremely useful, you can run the CI pipeline triggered by a certain event (e.g. pull_request, push, merge, whatever), or you can run a specific job (test) locally

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.

2 participants