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 Actions #442

Merged
merged 15 commits into from
Feb 27, 2024
Merged

Use GitHub Actions #442

merged 15 commits into from
Feb 27, 2024

Conversation

ldez
Copy link
Contributor

@ldez ldez commented Feb 24, 2024

First, I know there is a current open PR on the topic, but there has been no move for a long time, and it feels more like a WIP than a mergeable PR.

I just added the basics:

  • build (cross-OS)
  • linting
  • test (Linux)

Please consider it as a first step (it's better than no CI 😸).

I didn't add a workflow on Windows because the current Appveyor setup file is not Linux user-friendly.
But I can spend time on it later and create a specific PR.

I don't add the release part, I want to discuss it because it's not a simple step.

You can take a look at the CI of my fork if needed: https://github.com/ldez/pebble/actions

Fixes #356
Closes #379

Note: the PR #441 should be merged first.

aarongable
aarongable previously approved these changes Feb 26, 2024
Copy link
Contributor

@aarongable aarongable left a comment

Choose a reason for hiding this comment

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

Thank you so much! This looks essentially good to me and I'd honestly be okay landing it as-is because it's just an improvement over the status quo, but I do have a few suggestions for further improvements as well. Thanks!

.github/workflows/checks.yml Show resolved Hide resolved
.github/workflows/go-cross.yml Outdated Show resolved Hide resolved
.github/workflows/tests.yml Outdated Show resolved Hide resolved
.github/workflows/tests.yml Outdated Show resolved Hide resolved
.golangci.yaml Outdated Show resolved Hide resolved
@aarongable aarongable mentioned this pull request Feb 26, 2024
@ldez
Copy link
Contributor Author

ldez commented Feb 26, 2024

I didn't dismiss your review 🤔
Is it related to the review commits?

@mcpherrinm
Copy link
Contributor

Pushing a commit dismisses the review (this is configurable in GH)

@ldez
Copy link
Contributor Author

ldez commented Feb 26, 2024

I think I fixed everything.
Appveyor is still very slow 😄

@mcpherrinm
Copy link
Contributor

Thanks! This is a pretty significant improvement. We can definitely merge this and continue to improve from here.

@aarongable aarongable merged commit 5b7dc87 into letsencrypt:main Feb 27, 2024
9 checks passed
@ldez ldez deleted the ldez-ci branch February 27, 2024 02:05
mcpherrinm pushed a commit that referenced this pull request Mar 12, 2024
…mages (#444)

[![Checks](https://github.com/fastly/pebble/actions/workflows/checks.yml/badge.svg)](https://github.com/fastly/pebble/actions/workflows/checks.yml)

[![Tests](https://github.com/fastly/pebble/actions/workflows/tests.yml/badge.svg)](https://github.com/fastly/pebble/actions/workflows/tests.yml)

As a follow-on to #439 this
change request implements the first step of building a new CI system for
Pebble. As this is a testbed environment for Boulder, some of these
changes may prove to be useful in the latter context.

Per
#434 (comment),
GitHub Actions is a reasonable choice for a new CI implementation to
supersede Travis. Much, but not all, of the existing functionality is
present in this initial set of changes.

Items currently implemented include:
- Binary production of `pebble` and `challtestsrv` for platforms:
  - AMD64
    - darwin
    - linux
    - windows
  - ARM64
    - darwin
    - linux
    - windows
- Multiplatform docker images published on the GitHub Container Registry
for platforms:
  - linux/amd64
  - linux/arm64
  - windows/amd64
- Golang linting.
- Golang coverage.
- Local test scripts for Go and Docker:
  - `./build.sh`
  - `./docker.sh`
  - `./test.sh`

This PR also adds a `-version` flag to Pebble, which is set during
release build to the Git commit ref.

This change builds on earlier work done in
#379 and
#442.
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.

Switch from Travis to GitHub Actions
3 participants