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

Transfer Circle CI Automation to Github Actions #335

Merged
merged 20 commits into from
Apr 8, 2022

Conversation

sindhusegment
Copy link
Contributor

@sindhusegment sindhusegment commented Apr 5, 2022

Changes

  • Add github actions workflows to build, test and release chamber
  • Remove circleci pipeline config and references to that in the project
  • Remove package cloud from github actions pipeline

TODO

  • Add docker hub credentials to repository settings ✅
  • Verify if segment relies on installation from package cloud ✅ - Filed a ticket
  • Test release on tag creation (once merged to master)
  • Remove package cloud from installation docs (after merged and tested in actions)
  • Remove circleci from repo webhook settings (after merged and tested in actions)

@sindhusegment sindhusegment changed the title initial set up of github actions yml Transfer Circle CI Automation to Github Actions Apr 5, 2022
.github/workflows/release.yml Outdated Show resolved Hide resolved
Co-authored-by: Enrico Alvarenga <enricomalvarenga@gmail.com>
.github/workflows/release.yml Outdated Show resolved Hide resolved
@rikez rikez changed the title Transfer Circle CI Automation to Github Actions WIP: Transfer Circle CI Automation to Github Actions Apr 6, 2022
@rikez rikez changed the title WIP: Transfer Circle CI Automation to Github Actions Transfer Circle CI Automation to Github Actions Apr 7, 2022
@asaf-erlich
Copy link
Contributor

So I reviewed and everything LGTM. But I wanted to chat about this a bit more:

Test release on tag creation (once merged to master)

So this caused a significant amount of pain for @sindhusegment and also for me afterwards needing to fix the release process when we lost the creds once and no one had any idea why. Basically an annoying problem is that the release is only ever executed on tag creation which maybe makes sense but also never tests a bunch of code.

Do you think we should be testing this release flow during merge to master for example (not necessarily on every commit) so that we find out if it's broken prior to trying a release and discovering the problem? This is obviously out of scope for this ticket? Should we have another ticket to discuss the best way to solve this? Thoughts?

go-version: ${{ matrix.go }}

- name: Test
run: make test
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you know what the output of make test is? Do we know what the test coverage is and whether we're satisfied with it?

Copy link
Contributor

Choose a reason for hiding this comment

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

I just looked at it in the job, but don't know the coverage, should we add a coverage report (backlog ticket)?

Copy link
Contributor

Choose a reason for hiding this comment

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

That looks like it's ported over 1:1 from the circleci yaml; probably something we can reasonably say "this is fine" to and sleep well tonight.

Copy link
Contributor

Choose a reason for hiding this comment

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

We've tried to port 1:1 without refactoring anything. We can improve chamber release separately.

Copy link
Contributor

@asaf-erlich asaf-erlich left a comment

Choose a reason for hiding this comment

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

Overall LGTM, comments added about things but they're all out of scope potential backlog items to discuss later.

Comment on lines +79 to +80
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm assuming this is because docker is doing cross-compilation, and this is intentional (not copypasta?)

Copy link
Contributor

@rikez rikez Apr 7, 2022

Choose a reason for hiding this comment

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

Yes, it is because of that, we're building for multiple OS. We found this in this doc

@rikez
Copy link
Contributor

rikez commented Apr 7, 2022

@asaf-erlich We should think about a better process the test the release process without having to ship to master or on tag creation. Perhaps we can release a "pre-release" version when we merge to master or a even dryrun process for every commit in a feature branch?

@sindhusegment
Copy link
Contributor Author

@asaf-erlich totally agree with you. This is something that we should definitely streamline and create a backlog ticket for

@emmy-byrne-segment
Copy link
Contributor

LGTM. We might need to remove the circle webhook to get this to merge. The comments others had said are about what i would comment as well, so +1 to everything else but not blocking.

nice work!~

@rikez
Copy link
Contributor

rikez commented Apr 8, 2022

@emmy-byrne-segment We will remove after we ensure actions is working. Given the unknowns about CircleCI permissions, I prefer to avoid having to reconfigure circleci webhook if necessary.

@rikez rikez merged commit 3353ad1 into master Apr 8, 2022
@rikez rikez deleted the DEVEX96/move-release-from-circle-to-github-actions branch April 8, 2022 16:15
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.

5 participants