Skip to content

Build shadow once for extra tests#2572

Merged
sporksmith merged 1 commit intoshadow:mainfrom
sporksmith:tor-workflow
Nov 29, 2022
Merged

Build shadow once for extra tests#2572
sporksmith merged 1 commit intoshadow:mainfrom
sporksmith:tor-workflow

Conversation

@sporksmith
Copy link
Copy Markdown
Contributor

@sporksmith sporksmith commented Nov 28, 2022

Previously we were building shadow for each version of tor that we test, as well as to test examples and do bandwidth tests with tgen. These all use the same build configuration and container, so we can save some GH resources by putting these all in one workflow and building shadow once.

This also updates shadow configs and docs to use PATH-based search to locate tgen and tor. It's not strictly necessary for this change, but helps to decouple the "build tgen" job a bit from the other jobs that use its output, and is something we're moving towards in general to support alternative install locations.

@github-actions github-actions bot added the Component: Testing Unit and integration tests and frameworks label Nov 28, 2022
@codecov
Copy link
Copy Markdown

codecov bot commented Nov 28, 2022

Codecov Report

Base: 67.89% // Head: 67.08% // Decreases project coverage by -0.81% ⚠️

Coverage data is based on head (5de9851) compared to base (b09b00e).
Patch has no changes to coverable lines.

❗ Current head 5de9851 differs from pull request most recent head c4552ca. Consider uploading reports for the commit c4552ca to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2572      +/-   ##
==========================================
- Coverage   67.89%   67.08%   -0.82%     
==========================================
  Files         195      194       -1     
  Lines       29026    28791     -235     
  Branches     5708     5638      -70     
==========================================
- Hits        19708    19314     -394     
- Misses       4767     5021     +254     
+ Partials     4551     4456      -95     
Flag Coverage Δ
tests 67.08% <ø> (-0.82%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/main/host/syscall/handler/eventfd.rs 0.00% <0.00%> (-68.58%) ⬇️
src/main/host/syscall/handler/time.rs 0.00% <0.00%> (-65.86%) ⬇️
src/main/host/descriptor/eventfd.rs 0.00% <0.00%> (-64.65%) ⬇️
src/main/host/syscall/handler/ioctl.rs 21.21% <0.00%> (-30.31%) ⬇️
src/main/host/syscall/handler/unistd.rs 55.79% <0.00%> (-10.31%) ⬇️
src/main/host/timer.rs 87.90% <0.00%> (-9.68%) ⬇️
src/main/host/process.rs 66.10% <0.00%> (-6.78%) ⬇️
src/main/host/syscall/handler/mod.rs 76.00% <0.00%> (-6.67%) ⬇️
src/main/host/memory_manager/memory_mapper.rs 66.25% <0.00%> (-5.60%) ⬇️
src/main/utility/stream_len.rs 38.09% <0.00%> (-4.77%) ⬇️
... and 24 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@sporksmith sporksmith force-pushed the tor-workflow branch 6 times, most recently from 5b92b27 to 0a62afa Compare November 29, 2022 05:03
@sporksmith sporksmith changed the title tor workflow: build shadow once run_tor workflow: build shadow once Nov 29, 2022
@sporksmith sporksmith marked this pull request as ready for review November 29, 2022 05:05
@sporksmith
Copy link
Copy Markdown
Contributor Author

Was making a follow-up PR to consolidate some of the other workflows, and it turned out to be pretty straightforward. Went ahead and added those commits here so we don't need to change the required actions multiple times.

@sporksmith
Copy link
Copy Markdown
Contributor Author

Here's an example of the full workflow: https://github.com/shadow/shadow/actions/runs/3574968073

It'd be nice to reduce the shadow build time too, but at least after this change we're building it once instead of 5x.

image

@github-actions github-actions bot added the Component: Documentation In-repository documentation, under docs/ label Nov 29, 2022
Previously we were building shadow for each version of tor that we test,
as well as to test examples and do bandwidth tests with tgen. These all
use the same build configuration and container, so we can save some GH
resources by putting these all in one workflow and building shadow once.

This also updates shadow configs and docs to use PATH-based search to
locate tgen and tor. It's not strictly necessary for this change, but
helps to decouple the "build shadow" job a bit from the other jobs that
use its output, and is something we're moving towards in general to
support alternative install locations.
@sporksmith sporksmith changed the title run_tor workflow: build shadow once Build shadow once for extra tests Nov 29, 2022
@sporksmith sporksmith enabled auto-merge (squash) November 29, 2022 19:41
@sporksmith sporksmith disabled auto-merge November 29, 2022 19:58
@sporksmith sporksmith enabled auto-merge (squash) November 29, 2022 19:59
@sporksmith sporksmith merged commit 13c561a into shadow:main Nov 29, 2022
@sporksmith sporksmith deleted the tor-workflow branch November 29, 2022 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Documentation In-repository documentation, under docs/ Component: Testing Unit and integration tests and frameworks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants