Skip to content

Another attempt to move tests from CircleCI to GitHub Actions #1317

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

Merged
merged 1 commit into from
Jul 17, 2024

Conversation

grantnelson-wf
Copy link
Collaborator

@grantnelson-wf grantnelson-wf commented Jun 20, 2024

I thought I'd take a swing at moving from CircleCI to GHA. I'm taking some ideas and solutions from #1243.
I'm new to GHA and CircleCI so this has a lot of room for improvement. Any ideas, feedback, and help is greatly appreciated.

  • Move environment setup
  • Move initial build test on Ubuntu
  • Move lint so that the Go versions constant could be shared. (This could have also been done with config vars for multiple workflows)
  • Move MacOS (Darwin) smoke test
  • Move Windows smoke test
  • Move Ubuntu tests
  • Move Go repo tests
  • Move Go issue/fixbugs tests
  • Move TodoMVC comparison between GOPATH and Go Modules output

Note: Part of the reason I build this WIP PR is because Workiva's fork is under our enterprise plan, meaning it has different rules for actions. For example it allows different sized runners but Workiva doesn't allow 3rd party tools like golangci-lint without several additional steps. So to properly test it I have to have a PR in gopherjs/gopherjs under gopherjs's cloud plan. Additionally, I did this as a separate PR from #1243 because I don't have push permission to that branch and, therefore, needed my own branch.


This is part of #1214

@grantnelson-wf grantnelson-wf force-pushed the gha2 branch 6 times, most recently from 274c864 to cd95cd0 Compare June 21, 2024 22:08
@nevkontakte
Copy link
Member

@grantnelson-wf thanks for doing this! FYI, I'm going to unsubscribe from this issue for now to stop it flooding my inbox, but please feel free to @ me whenever you need my input 🙂

@grantnelson-wf grantnelson-wf force-pushed the gha2 branch 6 times, most recently from 2df4ef2 to 317211f Compare July 2, 2024 22:58
@grantnelson-wf grantnelson-wf changed the title [WIP] Another attempt to move tests from CircleCI to GitHub Actions Another attempt to move tests from CircleCI to GitHub Actions Jul 2, 2024
@grantnelson-wf grantnelson-wf marked this pull request as ready for review July 2, 2024 23:44
@grantnelson-wf
Copy link
Collaborator Author

grantnelson-wf commented Jul 2, 2024

@nevkontakte and @flimzy I've got the GHA CI working!

I did leave some things out, like some of the report generation and the comparison of TodoMVC builds. I couldn't tell which reports were for CircleCI logging and which, if any, were not. I also didn't bump versions much because of things like the legacy syscall test and a problem in Example_compressingReader with node version 20. I figured we could do a version bump PR after getting GHA working.

What else should we be doing for CI?
What did I miss, skip, or should add?
And should we leave the circle.yaml file alone for this PR?

Copy link
Member

@flimzy flimzy left a comment

Choose a reason for hiding this comment

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

Thanks for picking this up! I'll be happy to be rid of CircleCI!

LGTM, aside from the open question regarding GO111MODULE

@nevkontakte
Copy link
Member

The purpose of the diff test for the TODO MVC app is to verify that our GOPATH support doesn't regress. The same app build on GOPATH or Modules mode should produce the same output, which ensures that the GOPATH build is at least as correct as the better-tested and exercised Go Modules mode. Since upstream decided to keep supporting GOPATH fore the foreseeable future, we should continue doing so as well.

@grantnelson-wf grantnelson-wf force-pushed the gha2 branch 5 times, most recently from 1e70daa to 42acfc2 Compare July 11, 2024 20:56
@grantnelson-wf
Copy link
Collaborator Author

grantnelson-wf commented Jul 11, 2024

Ready for review again

  • I broke up GopherJS Test job into crypto and non-crypto
  • I updated the TodoMVC test job to do the module build comparison
  • I updated some documentation

I'm not sure how to get the CircleCI tests to stop running, I'm assuming that's something that you guys have access to. We could also put back circle.yml for now and run both then remove CircleCI later, or put in a jobless circle.yml file that we remove later.

Copy link
Member

@nevkontakte nevkontakte left a comment

Choose a reason for hiding this comment

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

I'm happy with the current setup, thanks @grantnelson-wf! @flimzy unless you have any other suggestions, I am happy to merge.

@nevkontakte nevkontakte merged commit 8c15d1d into gopherjs:master Jul 17, 2024
10 checks passed
@grantnelson-wf grantnelson-wf deleted the gha2 branch July 17, 2024 20:37
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.

3 participants