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

Add smoke-test workflow #103

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

uuf6429
Copy link
Member

@uuf6429 uuf6429 commented Jan 8, 2025

Purpose

The objective is to provide an extendable workflow for testing basic compatibility* of different drivers in isolation concurrently.

* latest drivers and oldest supported dependencies

Third-party driver developers can also add a test themselves (in ci-test-unofficial.yml), but will be treated a little bit differently, to avoid failures reflecting badly on our CI results (since GitHub doesn't allow us to ignore failures).

Current Driver Tests

@aik099

This comment was marked as resolved.

@aik099

This comment was marked as resolved.

.github/workflows/smoke.yml Outdated Show resolved Hide resolved
.github/workflows/smoke.yml Outdated Show resolved Hide resolved
.github/workflows/smoke.yml Outdated Show resolved Hide resolved
.github/workflows/smoke.yml Outdated Show resolved Hide resolved
.github/workflows/smoke.yml Outdated Show resolved Hide resolved
@aik099

This comment was marked as outdated.

@aik099

This comment was marked as outdated.

@aik099 aik099 mentioned this pull request Jan 9, 2025
@stof

This comment was marked as resolved.

@uuf6429

This comment was marked as resolved.

@aik099

This comment was marked as resolved.

@uuf6429

This comment was marked as resolved.

@aik099

This comment was marked as resolved.

@aik099

This comment was marked as resolved.

@uuf6429

This comment was marked as resolved.

@aik099

This comment was marked as resolved.

@uuf6429

This comment was marked as resolved.

docker compose logs --no-color --no-log-prefix --timestamps selenium > ./logs/selenium.docker.log

Unofficial:
name: "✨️ ${{ matrix.name }}"
Copy link
Member Author

@uuf6429 uuf6429 Jan 17, 2025

Choose a reason for hiding this comment

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

I just pushed a major update; it should work much better now and should be relatively easy to follow.

There's one major annoyance (on GitHub's side): they do not evaluate expressions in job.name, (that line above), when the job is skipped.

This causes some ugly UI:
image

But the impact is just that, so I think we can live with it.

Copy link
Member

Choose a reason for hiding this comment

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

A way to solve that would be to put those jobs in a separate workflow instead (that can be dispatched manually) instead of putting them in the CI workflow but skipping them anytime it is not dispatched manually. This would not cause duplication, as the common logic is already in the reusable workflow anyway.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good idea, I'll try implementing it so.

Copy link
Member Author

@uuf6429 uuf6429 Feb 10, 2025

Choose a reason for hiding this comment

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

@stof I tried it out on my personal branch and it looked like it works really nicely. Can't see any downsides so far, in fact (except that the current "CI" entry will become obsolete, but I think that's really minor).

It can be removed if we manually remove the past workflow logs, it's a bit cumbersome but I can do that if you want (just let me know). Or we can leave it there for now (maybe github even removes it eventually, when it's old enough).

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@uuf6429 uuf6429 force-pushed the chore/add-smoke-test-workflow branch from 28fb70a to d7fa83e Compare January 20, 2025 20:26
@aik099
Copy link
Member

aik099 commented Jan 21, 2025

Looks almost ready. At least all builds pass.

@uuf6429
Copy link
Member Author

uuf6429 commented Jan 21, 2025

Looks almost ready. At least all builds pass.

@aik099 sadly I still have issues with the chrome driver. Interestingly, I managed to replicate the same errors locally yesterday. I'll spend a day or two to fix it and if I can't, I'll ask the maintainer and merge this PR.

@uuf6429
Copy link
Member Author

uuf6429 commented Feb 9, 2025

@acoulton after many attempts at getting the chrome driver tests to run, I finally give up.

The testcase is still there if you feel like giving it a look. I'll probably remove it in a week or two if there is no interest in getting it to work.

@uuf6429 uuf6429 marked this pull request as ready for review February 9, 2025 15:32
@acoulton
Copy link
Contributor

@uuf6429 I wasn't aware you were working on this till you pinged me here. I could probably have pointed you in the right direction and saved you some time.

For the record, I am not a maintainer on chrome-mink-driver: we use it heavily for work (and have done for a long time) so I've built up a good bit of experience of some of the challenges of getting Chrome running happily with mink, and I contribute to the driver when I can.

I can try to take a look at this once I've finished the work I'd already started to migrate chrome-mink-driver's own tests to docker compose, which I think will make life easier all round. It may take me longer than the next week or two, but that doesn't mean there's "no interest in getting it to work", it just means it's voluntary open source work and it depends what else comes up.

However the link you provided to the testcase in your comment appears to just go to the full diff of this PR, and I can't see a testcase there?

@uuf6429
Copy link
Member Author

uuf6429 commented Feb 13, 2025

@acoulton it's here now: .github/workflows/ci-test-unofficial.yml

Feel free to ask if anything is unclear. There's also no real time constraints, of course. What I meant is that I don't want to be the one to add something half-baked that is never used.

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.

4 participants