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 Local Test Runner Script #694

Merged
merged 5 commits into from
Mar 25, 2025

Conversation

macgyver13
Copy link
Contributor

This PR adds a script for executing github/workflow tests to mimic the pipeline testing process

  • add local_test_runner script
  • add delay to graph_test expect - increases reliability of test

Let me know if this should be named differently, documented or included in a different location.

- add delay to graph_test expect - increases reliability
@willcl-ark
Copy link
Contributor

willcl-ark commented Mar 11, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

No conflicts as of last run.

@macgyver13 macgyver13 marked this pull request as ready for review March 14, 2025 18:43
@willcl-ark
Copy link
Contributor

Interesting!

Do you know how this compares with e.g. https://github.com/nektos/act (which I've actually never tried in this repo)?

@macgyver13
Copy link
Contributor Author

I was able to get the act system running on macOS silicon using these arguments:
act --container-architecture linux/arm64 -j test
act --container-architecture linux/amd64 -j test

Each test fails with either of these 2 docker errors depending on architecture (Not sure this will be worth resolving for mac):

| * minikube v1.35.0 on Ubuntu 22.04 (docker/arm64)
| * The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
| * If you are running minikube within a VM, consider using --driver=none:
| *   https://minikube.sigs.k8s.io/docs/reference/drivers/none/
|
| X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
| * minikube v1.35.0 on Ubuntu 22.04 (docker/amd64)
| * Unable to pick a default driver. Here is what was considered, in preference order:
|   - docker: Not healthy: Cannot use amd64 minikube binary to start minikube cluster with Docker driver on arm64 machine
|   - docker: Suggestion: Download and use arm64 version of the minikube binary <https://minikube.sigs.k8s.io/docs/start/>
| * Alternatively you could install one of these drivers:
|   - kvm2: Not installed: exec: "virsh": executable file not found in $PATH
|   - podman: Not installed: exec: "podman": executable file not found in $PATH
|   - qemu2: Not installed: exec: "qemu-system-x86_64": executable file not found in $PATH
|   - virtualbox: Not installed: unable to find VBoxManage in $PATH
|
| X Exiting due to DRV_NOT_HEALTHY: Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.

@pinheadmz
Copy link
Contributor

Besides these nits, concept ACK and tested ACK - I tried to run the script on a slow underpowered VM i had laying around and it did run two tests successfully in series then failed which is not your fault ;-)

Exception: Timed out waiting for Truth from predicate: def check_scenarios():
            scns = scenarios_deployed()
            if len(scns) == 0:
                return True
            for s in scns:
                exit_status = get_pod_exit_status(s["name"], s["namespace"])
                self.log.debug(f"Scenario {s['name']} exited with code {exit_status}")
                if exit_status != 0:
                    return False
            return True
******** testing failed

@pinheadmz
Copy link
Contributor

LGTM @willcl-ark any additional thoughts?

@pinheadmz pinheadmz merged commit 6626ec1 into bitcoin-dev-project:main Mar 25, 2025
15 checks passed
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.

3 participants