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

Github E2E Tests #1614

Merged
merged 7 commits into from
May 23, 2024
Merged

Github E2E Tests #1614

merged 7 commits into from
May 23, 2024

Conversation

velioglu
Copy link
Member

@velioglu velioglu commented May 17, 2024

Adding github E2E tests. Following items are completed in the PR

  • Moving default image version handling from host_nexus to download_boot_image. So, no need to pass version on tests.
  • Imstall ngrok on test host to expose local server to public. Test app created for e2e tests will send hooks to the static domain provided by ngrok.
  • Add github runner e2e tests. It will download github runner boot images and trigger test worklows passed in the github test config file.
  • Run e2e test in parallel.
  • Update tests to cover all the changes above.

@velioglu velioglu requested a review from enescakir May 17, 2024 06:06
@velioglu velioglu force-pushed the velioglu/gr_e2e_test branch 2 times, most recently from 045a113 to de23ae9 Compare May 17, 2024 06:12
config.rb Outdated Show resolved Hide resolved
bin/ci Show resolved Hide resolved
prog/test/github_runner.rb Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
@velioglu velioglu force-pushed the velioglu/gr_e2e_test branch 4 times, most recently from 83bd32f to c6ead40 Compare May 17, 2024 23:07
bin/ci Show resolved Hide resolved
bin/ci Show resolved Hide resolved
config/github_runner_e2e_tests.yml Outdated Show resolved Hide resolved
@velioglu velioglu force-pushed the velioglu/gr_e2e_test branch 5 times, most recently from a6f014b to 8063307 Compare May 21, 2024 07:45
@velioglu velioglu marked this pull request as ready for review May 21, 2024 07:45
@velioglu velioglu requested a review from enescakir May 21, 2024 07:46
prog/test/github_runner.rb Outdated Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
prog/test/github_runner.rb Outdated Show resolved Hide resolved
bin/ci Outdated Show resolved Hide resolved
bin/ci Outdated Show resolved Hide resolved
We were expecting to pass image version to DownloadBootImage prog. Default
version of images were kept in host_nexus. With this commit default version
info has been moved to DownloadBootImage. If a version is not passed to
DownloadBootImage it will download the default version, if it is passed
given version will be downloaded.
Since default version handling is moved from HostNexus to DownloadBootImage
doing the same for tests as well.
…tatic domain

In order to run github runner e2e tests, local server run on the e2e test
machine must be accessible from the public with a static domain. So, the
github test app we will create can access e2e test machine even if different
hosts can be used.

Ngrok is a tool which exposes local server to public. It also supports static
domains. So, it can be used to access local server with a same domain. That
static domain obtained from ngrok will be used as the base uri for the github
test app will be created. It will allow test app to send hooks to the local
server running on the e2e test machine.
Keeping workflow information which will be triggered from e2e test
machine while running github runner e2e test. It allows us to add
new test workflows to trigger, so new workflows can be added easily.
Adding e2e tests for github runners. It basically adds a new strand to
the e2e ci. That strand first downloads github runner images to test
machine, triggers the test worklfows passed in the github runner test
config file and then wait for them to be completed successfully.

Since we are running ngrok on the test host and set the ngrok's static
domain as the base uri for the test app we create, hooks of triggered
workflows will be sent to test host.

If you want to add a new repo for github runner tests, make sure that
the test app is installed for that repo.
Adding tests for github runner e2e test.
New secrets are added to e2e.yml to
- Fetch github runner images from minio
- Pass github app information created for e2e tests
- Pass github installation id added to the test repo
@velioglu velioglu merged commit 0d37160 into main May 23, 2024
9 of 11 checks passed
@velioglu velioglu deleted the velioglu/gr_e2e_test branch May 23, 2024 23:12
@github-actions github-actions bot locked and limited conversation to collaborators May 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants