Skip to content

e2e upgrade#2938

Merged
knative-prow[bot] merged 7 commits intoknative:mainfrom
lkingland:push-tzvwvvkmvwtq
Nov 20, 2025
Merged

e2e upgrade#2938
knative-prow[bot] merged 7 commits intoknative:mainfrom
lkingland:push-tzvwvvkmvwtq

Conversation

@lkingland
Copy link
Member

@lkingland lkingland commented Jul 15, 2025

Refactors E2E tests and workflows

/kind cleanup

Notable Name Changes: the scripts in ./hack were renamed to be simple nouns:
hack/cluster.sh
hack/binaries.sh
hack/images.sh
hack/gitlab.sh

@knative-prow
Copy link

knative-prow bot commented Jul 15, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@knative-prow knative-prow bot added do-not-merge/work-in-progress 🤖 PR should not merge because it is a work in progress. kind/cleanup Cleanup labels Jul 15, 2025
@knative-prow knative-prow bot requested review from dsimansk and jrangelramos July 15, 2025 11:26
@knative-prow
Copy link

knative-prow bot commented Jul 15, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lkingland

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot added approved 🤖 PR has been approved by an approver from all required OWNERS files. size/XXL 🤖 PR changes 1000+ lines, ignoring generated files. labels Jul 15, 2025
@lkingland lkingland force-pushed the push-tzvwvvkmvwtq branch from 94c8089 to 7512faf Compare July 15, 2025 11:30
@codecov
Copy link

codecov bot commented Jul 15, 2025

Codecov Report

❌ Patch coverage is 54.54545% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 51.81%. Comparing base (51e2b5d) to head (80175e2).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
pkg/pipelines/tekton/validate.go 33.33% 2 Missing ⚠️
cmd/completion_util.go 0.00% 1 Missing ⚠️
cmd/config_git_set.go 0.00% 1 Missing ⚠️
pkg/functions/client.go 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2938      +/-   ##
==========================================
- Coverage   53.91%   51.81%   -2.11%     
==========================================
  Files         162      162              
  Lines       14763    19131    +4368     
==========================================
+ Hits         7959     9912    +1953     
- Misses       5876     8241    +2365     
- Partials      928      978      +50     
Flag Coverage Δ
e2e-tests ?
integration 17.88% <0.00%> (?)
unit macos-14 44.37% <50.00%> (?)
unit macos-latest 44.37% <50.00%> (?)
unit ubuntu-24.04-arm 44.56% <54.54%> (?)
unit ubuntu-latest 45.31% <50.00%> (?)
unit windows-latest 44.39% <50.00%> (?)
unit-tests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lkingland lkingland force-pushed the push-tzvwvvkmvwtq branch 4 times, most recently from b68e41f to e398349 Compare July 15, 2025 11:47
@lkingland lkingland marked this pull request as ready for review July 22, 2025 02:14
@knative-prow knative-prow bot removed the do-not-merge/work-in-progress 🤖 PR should not merge because it is a work in progress. label Jul 22, 2025
@knative-prow knative-prow bot requested a review from nainaz July 22, 2025 02:14
@lkingland lkingland force-pushed the push-tzvwvvkmvwtq branch 13 times, most recently from 5600e62 to e2184c3 Compare July 22, 2025 06:40
@lkingland lkingland force-pushed the push-tzvwvvkmvwtq branch 4 times, most recently from 42c9fb7 to de08716 Compare September 9, 2025 06:42
@lkingland
Copy link
Member Author

It ain't perfect, but I would prefer we merge this sooner rather than later as folks need this, and we can open new PRs for any niggling issues.

Copy link
Contributor

@twoGiants twoGiants left a comment

Choose a reason for hiding this comment

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

Looks pretty awesome! What a great refactoring! 🥇 😸

Learned a lot about the project reviewing it. And I always like it in PRs when many files are removed and only a few added. It feels more cleaned up then. 🧹 😆 🧹

I have 3 files to review left. Will continue on Monday.

Most, if not all comments are non-blocking.

Copy link
Contributor

@twoGiants twoGiants left a comment

Choose a reason for hiding this comment

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

Great job 😸 🚀 🎸 🥇!

This is a big improvement to what is there and the structure is nice, clean and clear.

I haven't found anything critical. Just typos, TODOs which can be extracted into issues and a few minor nice-to-haves.

I am mostly done. The last file I am still reviewing are the e2e-test.go which is the biggest one. I will submit what I have so far for it and the rest today/tomorrow.

Copy link
Contributor

@twoGiants twoGiants left a comment

Choose a reason for hiding this comment

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

Hi @lkingland! Finished the e2e_test.go. That was the biggest one! 😅

Looks good to me!

I have only found some typos and propose to cleanup a bit here and there, extract issues from TODOs and reduce duplication. Can all be done in a follow up, except the TODOs, those I would remove now and create issues. But you decide, its all good 😸

e2e/e2e_test.go Outdated
// repo: github.com/functions-dev
// runtime: go
// template: http (the default. can be changed with --template)
if err := newCmd(t, "init", "-l=go", "--repository=https://github.com/functions-dev/func-e2e-tests").Run(); err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

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

https://github.com/functions-dev/func-e2e-tests => hosted on the gitlab instance in the bootstrapped cluster would be nice and more independent 😸 . Maybe also a help-wanted issue for later.

Copy link
Contributor

Choose a reason for hiding this comment

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

It could be even be hosted on the git-server available for remote tests.

Copy link
Member Author

Choose a reason for hiding this comment

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

I decided to use this so that the E2E tests didn't have a dependency on the cluster having a git server installed, and to test "real world" expected behavior more closely; however I am happy to revisit these assumptions on the call if you'd like and open a ticket to refactor!

e2e/e2e_test.go Outdated
}

// Validate that the name matches what we expect
if instance.Name != name {
Copy link
Contributor

Choose a reason for hiding this comment

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

Describe shows more than just the name. Maybe we could assert for the entire content?

Copy link
Member Author

Choose a reason for hiding this comment

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

Rationale: E2E tests should verify that "describe describes". Unit tests verify that "what describe describes".

Copy link
Contributor

@gauron99 gauron99 left a comment

Choose a reason for hiding this comment

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

some comments

To remove built artifacts, use `make clean`.

### Build affecting environment variables
* `FUNC_REPO_REF` affects which github repo will be used to fetch tekton tasks for on cluster build. Default: `knative/func`.
Copy link
Contributor

Choose a reason for hiding this comment

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

there is still reference to this variable in test/presubmit-tests.sh

// Buildpacks do not currently support ARM
if builder == "pack" && (runtime.GOARCH == "arm64" || runtime.GOARCH == "arm") {
t.Skip("Paketo buildpacks do not currently support ARM64 architecture. " +
"See https://github.com/paketo-buildpacks/nodejs/issues/712")
Copy link
Contributor

Choose a reason for hiding this comment

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

i dont think this is the right link? it links to general github-config update (go bump and version change); its from 2 years ago

install git server in workflow

disable dapr service-to-service test

only run private repo test on Linux

test full script etc

test failure fixes

remote s2i builder test full stuffs

python functions

fixes

update func-python

e2e wait by duration

wait options with extended timeouts for java runtimes

import common in git-server.sh

disable make buffering

import common to dump-logs.sh

update dump-logs.sh to handle missing binaries

update common.sh to be resilient to missing binaries

fix: gitlab tests (retries and skip in CI)

full test target - script

reenable http default matrix template

support user vs system config in registry setup script

e2e_test.go increase default timeout

full test target

add CleanFS option

unified github workflow

renamed env var

standardized envs for int tests

dedicated Podman scripts

integration test name prefix

registry.sh skip docker restart

add missing io import to gitlab_int_test.go

improve prechecks
@gauron99
Copy link
Contributor

/lgtm

- name: Build and push
run: |
for a in amd64 arm64 ppc64le s390x; do
CGO_ENABLED=0 go build -o "func-util-$a" -trimpath -ldflags '-w -s' ./cmd/func-util
Copy link
Contributor

@matejvasek matejvasek Dec 9, 2025

Choose a reason for hiding this comment

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

How did GOARCH="$a" disappear here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved 🤖 PR has been approved by an approver from all required OWNERS files. kind/cleanup Cleanup lgtm 🤖 PR is ready to be merged. size/XXL 🤖 PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants