Skip to content

Conversation

@d-w-moore
Copy link
Collaborator

All tests will run from GitHub actions.

Except the interactive PAM test, and that omission will soon be rectified.

@d-w-moore d-w-moore marked this pull request as draft September 29, 2025 14:17
@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch 2 times, most recently from 9bd1449 to 19ef753 Compare October 3, 2025 20:33
@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch 4 times, most recently from fa0b1ae to 5cfcce8 Compare October 5, 2025 04:34
@d-w-moore
Copy link
Collaborator Author

All the checks implemented via github actions (except Codacy) are passing . Some cleanup has been done on the code as well. I think we're for a preliminary round of review. Just be aware there are some extra scripts that are not central to the github actions we've implemented here. They are there as examples and tests of the harness functionality.

@d-w-moore d-w-moore marked this pull request as ready for review October 9, 2025 17:01
@d-w-moore d-w-moore self-assigned this Oct 9, 2025
@trel
Copy link
Member

trel commented Oct 9, 2025

please mark the ones that are 'not central'.

are you suggesting we keep the scripts that are 'not central'? if so, why?

@d-w-moore
Copy link
Collaborator Author

please mark the ones that are 'not central'.

are you suggesting we keep the scripts that are 'not central'? if so, why?

They're illustrative but not necessary, so I'll remove them.

@trel
Copy link
Member

trel commented Oct 9, 2025

They're illustrative but not necessary, so I'll remove them.

Ah, okay - yes please remove them. And consider putting any helpful words / examples in README.md files at the appropriate locations.

@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch from 08a524c to 26cc9a1 Compare October 10, 2025 16:05
@d-w-moore
Copy link
Collaborator Author

d-w-moore commented Oct 10, 2025

We are now down to 6 basic commits.

@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch 2 times, most recently from f14118d to e2f2615 Compare October 13, 2025 15:28
@d-w-moore
Copy link
Collaborator Author

d-w-moore commented Oct 13, 2025

We're now down to 8 basic commits. If that's too many for the convenience of those reviewing, let me know and I can maybe digest it down further.

@korydraughn
Copy link
Contributor

8 commits isn't bad at all, but let's go ahead and squash commits into their final shape if we know what that is.

@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch from e2f2615 to a395ff6 Compare October 13, 2025 17:10
@d-w-moore
Copy link
Collaborator Author

Commits now minimized to 2.

@d-w-moore d-w-moore closed this Oct 17, 2025
@d-w-moore
Copy link
Collaborator Author

Reverted all experimental changes and things are back to normal for final round of commentary and review....

@trel
Copy link
Member

trel commented Nov 14, 2025

please squash so this is a candidate for merging. i still see two extra commits i think.

and consider renaming irods/test/setupssl.py to irods/test/setup_ssl.py

@d-w-moore
Copy link
Collaborator Author

d-w-moore commented Nov 14, 2025

Should f59678c and ff808aa be squashed together?

My own editorial on it, keep them separate for proper attribution. And, because there is fundamentally different work being done:

  • the first commit is basically the development of the github infrastructure and the multiple-node harness.
  • the second commit is the single-node harness and related changes to the setup scripts for the tests themselves.

@alanking
Copy link
Contributor

alanking commented Nov 14, 2025

My top suggestion at this point is to revert / delete that last commit. Why rename setupssl.py? I think we should leave that alone since it's publicly available and documented as setupssl.py. If you want to rename it, let's make a new issue and discuss how to do that at another time... unless you need to rename it in order for these changes to work.

I think the "remove Jenkins test framework support" commit can be linked to #778, yes?

Finally, looking at "[_TENTATIVE_SQUASH] mostly review based changes ..."...

This one should be split up and squashed into the commit(s) with which each change is best suited. For example, it includes a change to get rid of all symlinks. I see one symlink that was introduced in "test harness and container-based tests", so that should be squashed into there.

If no reasonable (I will let you decide what that means) split / squash can be had for these changes, maybe just keep it in its own commit and link it to all of the relevant issues. It's not ideal, but if it can't be done in a clean manner, maybe that's all we can do.

I think the rest of the commits look fine.

@trel
Copy link
Member

trel commented Nov 14, 2025

the rename ssl thing was me - i noticed all the other files had underscores in their naming... and it stood out.

@d-w-moore
Copy link
Collaborator Author

Finally, looking at "[_TENTATIVE_SQUASH] mostly review based changes ..."...

This one should be split up and squashed into the commit(s) with which each change is best suited. For example, it includes a change to get rid of all symlinks. I see one symlink that was introduced in "test harness and container-based tests", so that should be squashed into there.

If no reasonable (I will let you decide what that means) split / squash can be had for these changes, maybe just keep it in its own commit and link it to all of the relevant issues.

I can split it up pretty easily, as it still exists on another branch in unsplit form.

@d-w-moore
Copy link
Collaborator Author

the rename ssl thing was me - i noticed all the other files had underscores in their naming... and it stood out.

I'll work on the merge-compatible squashing tonight and defer to consensus on the renaming or not of setupssl.py

Copy link
Contributor

@korydraughn korydraughn left a comment

Choose a reason for hiding this comment

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

Almost there!

@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch 4 times, most recently from 684c2c5 to 2108494 Compare November 17, 2025 12:39
@alanking
Copy link
Contributor

Given the new changes and the way things are arranged now, I would make a best-effort attempt at squashing the commits without issue numbers into the commits with issue numbers. If it proves too messy/difficult to sort through, I (personally) am not opposed to "formatting" commits (which exclusively or primarily deal with whitespace) that come at the end of a line of commits. Leaving that up to you, @d-w-moore.

the rename ssl thing was me - i noticed all the other files had underscores in their naming... and it stood out.

Looking into this further, I think it's okay to rename that script. It appears to be used internally for testing only. Please squash that into the commits with issue numbers as well.

@d-w-moore
Copy link
Collaborator Author

d-w-moore commented Nov 17, 2025

... I would make a best-effort attempt at squashing the commits without issue numbers into the commits with issue numbers. If it proves too messy/difficult to sort through, I (personally) am not opposed to "formatting" commits (which exclusively or primarily deal with whitespace) that come at the end of a line of commits. Leaving that up to you, @d-w-moore.

the rename ssl thing was me - i noticed all the other files had underscores in their naming... and it stood out.

Looking into this further, I think it's okay to rename that script. It appears to be used internally for testing only. Please squash that into the commits with issue numbers as well.

No problems, will do the squashing next.

@d-w-moore d-w-moore force-pushed the ghrunner-run-all-tests branch 3 times, most recently from af5d51b to b027915 Compare November 18, 2025 02:34
Copy link
Contributor

@korydraughn korydraughn left a comment

Choose a reason for hiding this comment

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

Pound it!

trel and others added 6 commits November 21, 2025 21:49
Co-authored-by: d-w-moore <dmoore@renci.org>

Includes a docker compose configuration in which the PRC test suite
can be run in a way representative of typical operational use, and the
version of iRODS server and python interpreter that we install are also easily
reconfigurable.

Additionally, this affords us the opportunity to run the test suite on a client
node all its own, the iRODS server being reachable only via the network.
A new test harness is introduced in which we construct a new
container (using either Docker or podman) for each test program
we run. This allows full customization of the container
environment for the particular needs of each test.

Accordingly, also included with the Github workflows is a
full run of the PRC test suite with the iRODS server and
catalog DB server running in the same container as the client.

In the process of putting old tests through new rigors, faults
were found and corrected in some of those tests.
The test now fetches the modify and access timestamps during the interval
in which the replica is open, then asserts those timestamps as equal to
each other, as well as that they are greater than a system-generated
datetime of about two seconds prior.  (This is due to some timestamps
including a microseconds count whereas others do not.)
@alanking
Copy link
Contributor

The documentation introduced in this PR for running the tests also addresses #637. We will not be linking any specific commit to the issue, so I am doing it here in this comment.

Merging.

@alanking alanking merged commit 94b8594 into irods:main Nov 24, 2025
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants