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

Move to GitHub Actions for CI #77

Open
Lytigas opened this issue Nov 11, 2019 · 5 comments · May be fixed by #98
Open

Move to GitHub Actions for CI #77

Lytigas opened this issue Nov 11, 2019 · 5 comments · May be fixed by #98
Labels
enhancement New feature or request good first issue Good for newcomers
Projects

Comments

@Lytigas
Copy link
Collaborator

Lytigas commented Nov 11, 2019

No description provided.

@auscompgeek
Copy link
Member

Useful actions: https://github.com/actions-rs

@auscompgeek auscompgeek added this to To do in 2020 Nov 11, 2019
@auscompgeek auscompgeek added enhancement New feature or request good first issue Good for newcomers labels Dec 28, 2020
@hybras
Copy link

hybras commented Mar 18, 2021

I'm trying to understand your ci setup. I'm quite lost. So far I have (there's stuff elided)

Pull Req > .ci/pull-request.sh > make ci > publish.sh > check versions and publish crates

  1. Why are we publishing on a PR? Shouldn't that be for merges? Or does pr here mean a merged pr?
  2. Wouldn't it be more efficient to run this on tag creation?

Commit / Push > .ci/authorized.sh >

  1. Pull docker image
  2. make ci
  3. Push docker image

@auscompgeek
Copy link
Member

Honestly I'm not sure what's happening in the Makefile abuse myself. But that seems correct.

There's not much reason to use Docker for builds these days, IMO. The plan was to rip everything out and use #92 for toolchain installation in CI.

@hybras hybras linked a pull request Mar 19, 2021 that will close this issue
@Lytigas
Copy link
Collaborator Author

Lytigas commented Mar 20, 2021

Publishing on tag creation is definitely the way to go. That's how the system works now. The publish script (perhaps a more accurate name would be try_publish) checks for a tag (in $TRAVIS_TAG) that matches the crate version before pushing. My understanding was that this is how you do it with Travis. We didn't publish on PRs because the crates.io secret wasn't available to them, and they couldn't be tagged.

I used Docker originally because back when I started this project the way to get the frc compiler and libraries was an Ubuntu 16 package, which Travis did not support. I think they were 14 only at the time. Moving to Github actions and the newer toolchains alleviates that issue.

Unless the Dockerfile aids cross platform development there isn't much reason to keep it.

@hybras
Copy link

hybras commented Mar 20, 2021

I've made a draft pr. However, I don't know how to use docker... I can build inside the container (save preexisting bugs), but not otherwise. I don't know if this is a bug or a problem with my system. I don't expect you guys to debug for me, I'll try to fix my c++ toolchain

EDIT: Yeah I don't have the skills to finish this. I'm getting a linker problem when building hal, I can't find the gradle task to install the toolchain, and the toolchain's manual installer segfaults. I'll leave my pr open, as it has most of the work you want done (namely the publish workflow).

@bobbbay bobbbay mentioned this issue Jun 6, 2022
11 tasks
@auscompgeek auscompgeek linked a pull request Aug 21, 2022 that will close this issue
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
2020
  
To do
3 participants