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

chore(gh-workflows): add regression tests to release job #1665

Merged
merged 26 commits into from
Aug 24, 2023

Conversation

kostasrim
Copy link
Contributor

  • Add regression tests as part of the release build

Addresses #1625

@kostasrim
Copy link
Contributor Author

@kostasrim kostasrim requested a review from romange August 8, 2023 07:31
@kostasrim kostasrim self-assigned this Aug 8, 2023
@kostasrim kostasrim force-pushed the update_release_workflow branch 3 times, most recently from 8374185 to 39922e9 Compare August 10, 2023 09:15
@romange romange requested review from royjacobson and removed request for romange August 10, 2023 17:13
@romange
Copy link
Collaborator

romange commented Aug 10, 2023

@royjacobson can you please take a look?

@@ -32,64 +29,16 @@ jobs:
- name: Configure & Build
run: |
apt update && apt install -y pip jq
cmake -B ${GITHUB_WORKSPACE}/build -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -GNinja \
cmake -B ${GITHUB_WORKSPACE}/build-opt -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -GNinja \
Copy link
Collaborator

Choose a reason for hiding this comment

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

the reason we have not called it opt because we have a matrics that build debug build as well.
what's the reason you had to rename?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So I don't have to pass the build directory as an argument to the action. Since there are dependencies, I will simply add a parameter to the action

@romange
Copy link
Collaborator

romange commented Aug 11, 2023

Very nice that you factored out the common code.

@@ -104,7 +104,7 @@ jobs:
submodules: true
- name: Configure
run: |
apt update && apt install -y debhelper moreutils
apt update && apt install -y debhelper moreutils pip jq
Copy link
Collaborator

@romange romange Aug 11, 2023

Choose a reason for hiding this comment

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

we now have several "apt install" calls in our actions. Let's eliminate them by adding all these packages to ghcr.io/romange/ubuntu-dev . Feel free to send a PR to https://github.com/romange/container-foundry

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I already opened a PR.

  1. I would like to add regression tests for arm as well. I know I said offline that it doesn't worth our time, but I am already familiar with most of the gh action staff now that I should be able to find a good solution (and my OCD won't just let me to only run it for x86). The issue is that I could not run the regression tests action as part of the run-on-aarch action. I could simply not find a way to do this properly. Moreover, we only have x86 runners so running on a pure aarch machine was a big no and therefore we require QEMU. But as I looked on your repo, it seems that you already using QEMU which means that I could reuse your images instead of run-on-aarch and therefore I would be able to run that action as separate step (because the OG issue, that I can't run an action in the context of another action, that is, the run-on-aarch).
  2. As I said I made this PR, but I can clean up the release even more once I get the regression tests running on a container explicitly (as opposed to the action). I won't wait for my PR to be merged. I will open a new one to clean up everything.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

https://github.com/dragonflydb/dragonfly/pull/1706/files

  1. I refactored to use your QEMU docker image instead of the run-on-aarch action
  2. I refactored to use a matrix since both build-native and build-qemu are almost identical (the differences are now arguments to the matrix)
  3. I run the regression tests on aarh as well :)

plz release a new package to your repo such that I can remove the apt install's

@royjacobson
Copy link
Contributor

LGTM, please fix Roman's comment about running the tests in debug mode :)

@kostasrim kostasrim force-pushed the update_release_workflow branch 9 times, most recently from 3c48454 to 9f98f1c Compare August 15, 2023 10:11
@kostasrim kostasrim enabled auto-merge (squash) August 24, 2023 12:00
Copy link
Contributor

@royjacobson royjacobson left a comment

Choose a reason for hiding this comment

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

LGTM

@kostasrim kostasrim merged commit 69e24e7 into main Aug 24, 2023
10 checks passed
@kostasrim kostasrim deleted the update_release_workflow branch August 24, 2023 13:24
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