-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
.github/workflows: add a build and test workflows #8577
Conversation
9ec5bd4
to
4e62157
Compare
4ec92f8
to
08e535b
Compare
This would remove the need for |
/hold |
4312ef5
to
658a6b1
Compare
Alright, it takes 27m to run everything. /unhold |
We would need to change the required builds though 🙃 |
658a6b1
to
3c62d9f
Compare
Plumbing PR for this tektoncd/plumbing#2463 |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abayer The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This commit introduces a new CI workflow in `.github/workflows/ci.yaml` that handles build, linting, testing, and calls the e2e workflows. It optimizes the CI pipeline by including caching mechanisms and consolidates previously separate workflows. The following changes have been made: * Added a multi-stage CI workflow named `ci`. * Introduced linting steps using tools like `gofmt`, `golangci-lint`, `yamllint` and `go-license` check. * Incorporated build, unit tests, and generated code verification. * Added a multi-arch build support configuration. * Consolidated end-to-end tests via a workflow call in `e2e-matrix.yml`. Additionally, the redundant `golangci-lint.yaml` workflow has been removed. Support for a new test target `test-unit-verbose-and-race` is introduced in the `Makefile`, and the Go toolchain in `go.mod` is updated from `go 1.22.3` to `go 1.22.7`. Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
3c62d9f
to
5c4068c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this!
/lgtm
@@ -0,0 +1,110 @@ | |||
name: ci | |||
|
|||
on: [pull_request] # yamllint disable-line rule:truthy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: would be nice to address the lint warnings eventually
go-version-file: "go.mod" | ||
- name: build | ||
run: | | ||
make test-unit-verbose-and-race |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eventually, it would be nice to have all the jobs triggered via a make, for consistency and for ensuring users can run all these locally. I guess that would mean we would need some make
equivalent of the setup-go
action :]
KO_DOCKER_REPO=example.com ko resolve -l 'app.kubernetes.io/component!=resolvers' --platform=all --push=false -R -f config 1>/dev/null | ||
KO_DOCKER_REPO=example.com ko resolve --platform=all --push=false -f config/resolvers 1>/dev/null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: I'm not sure this needs to be separated anymore, resolvers are an integral part of our releases now.
Changes
Updated the GitHub Actions workflows to improve naming consistency and
add a new yamllint step. Renamed job names for clarity and removed
unnecessary environment variable in e2e-matrix.yml.
Ports most prow jobs into a set of workflows.
Signed-off-by: Vincent Demeester vdemeest@redhat.com
/kind misc
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes