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

Codecov giactions #3

Open
wants to merge 2,264 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2264 commits
Select commit Hold shift + click to select a range
05f7611
Update src/cli/playbook/ipa.rs
bmcase Jun 6, 2023
c82bf0d
combine another match in http_serde.rs
Jun 6, 2023
43e9fc8
Merge pull request #674 from bmcase/origin/malicious_network_test
akoshelev Jun 7, 2023
6126ac1
add print_header field to Metrics struct
taikiy Jun 7, 2023
6efdd8e
clarify comment
taikiy Jun 7, 2023
3119318
remove unused function
taikiy Jun 7, 2023
6a96aed
Reduce duplicated code involved in running a query
andyleiserson Jun 3, 2023
158e936
Remove some unnecessary trait bounds
andyleiserson Jun 7, 2023
ef672e7
Various fixes
akoshelev Jun 7, 2023
af66deb
Preserve current directory inside three-helper-images script
akoshelev Jun 7, 2023
a112a2b
Fix .dockerignore ignore patterns
akoshelev Jun 7, 2023
0632aad
Fix silly issues in three-helper-images
akoshelev Jun 7, 2023
4164900
Merge pull request #683 from andyleiserson/runner
akoshelev Jun 7, 2023
2963b46
Log duration of major IPA steps
akoshelev Jun 7, 2023
b106cc6
Remove commented code
akoshelev Jun 7, 2023
0e1a070
Merge pull request #680 from private-attribution/conf-gen
benjaminsavage Jun 8, 2023
688f91f
GateImpl -> Gate
taikiy Jun 8, 2023
9d79960
Merge branch 'main' into step_refactor
taikiy Jun 8, 2023
1f25e93
Merge pull request #658 from taikiy/step_refactor
akoshelev Jun 8, 2023
de17cd9
Separate script for report collector
richajaindce Jun 8, 2023
954ca4f
Remove the limit on number of concurrent streams
akoshelev Jun 8, 2023
654353e
Instead of generating events incrementally each second, this would n…
richajaindce Jun 9, 2023
9851441
Upgrade hyper dependency
akoshelev Jun 9, 2023
73163b4
Upgrade base64 dependency
akoshelev Jun 9, 2023
3f37090
Minor dependency upgrades
akoshelev Jun 9, 2023
a310d8d
Upgrade tokio
akoshelev Jun 9, 2023
e803649
Sort and upgrade the remaining dependencies
akoshelev Jun 9, 2023
0fc4e7b
Merge pull request #690 from akoshelev/fix-issue-685
akoshelev Jun 9, 2023
e35436c
Merge pull request #694 from akoshelev/dep-upgrade
akoshelev Jun 9, 2023
e31680a
proc macro to generate memory-efficient gate
taikiy Jun 9, 2023
7fe3c8b
update comments
taikiy Jun 9, 2023
2340a65
Update src/test_fixture/event_gen.rs
richajaindce Jun 9, 2023
50fc212
Fix a few tests that weren't getting run in CI
andyleiserson Jun 9, 2023
618bfe0
Merge pull request #686 from akoshelev/bit-of-logging
akoshelev Jun 9, 2023
a51befe
Merge pull request #693 from richajaindce/timestamp
akoshelev Jun 9, 2023
ace13c7
EC2: increase the size of root partition to 200Gb
akoshelev Jun 9, 2023
ba853b4
Merge pull request #696 from andyleiserson/tests
akoshelev Jun 9, 2023
e3a0e6f
Fix the broken build
akoshelev Jun 9, 2023
34769e0
Merge pull request #698 from akoshelev/fix-main-2
akoshelev Jun 9, 2023
2738fe1
Fixed-length and delimited input stream adapters
andyleiserson Jun 5, 2023
0e2cedf
Tests and fixes for LengthDelimitedStream
andyleiserson Jun 9, 2023
ce4489c
Initialize key registry from a set of public/private keys
akoshelev Jun 7, 2023
551eccf
set TCP_NODELAY for helper-to-helper connection
akoshelev Jun 9, 2023
e1e1a15
Decrypt match key shares in input reports
andyleiserson Jun 6, 2023
5bc8c64
Make a new query parameter: number of records in the input
akoshelev Jun 11, 2023
bec81b0
Construct gateway config from query config inside the processor
akoshelev Jun 11, 2023
c7acbbb
Change the executor to reject everything above record_count
akoshelev Jun 11, 2023
77a015f
Merge pull request #699 from akoshelev/disable-nagle
akoshelev Jun 12, 2023
76b877a
address PR comments
taikiy Jun 12, 2023
a3d3a2e
Fix test_mpc to always pass record count
akoshelev Jun 12, 2023
5241378
Use Gate as the used prss HashMap key
taikiy Jun 12, 2023
3c80251
Add Cargo.lock. Remove Cargo.lock from gitignore. Add a new line at t…
taikiy Jun 12, 2023
2dfb231
Merge pull request #700 from taikiy/prss_hashmap
akoshelev Jun 12, 2023
73ae9fe
Merge pull request #673 from taikiy/dyn_steps
akoshelev Jun 12, 2023
0815aa2
Cleanup
akoshelev Jun 13, 2023
9b72990
Remove unnecessary pin projection
andyleiserson Jun 14, 2023
5f02f0e
Non-static key registry
andyleiserson Jun 14, 2023
c2f7a78
Fix release build
andyleiserson Jun 14, 2023
a00f7ab
Merge pull request #697 from akoshelev/ec2-alloc-space
akoshelev Jun 15, 2023
f7c34ca
More cleanup
andyleiserson Jun 15, 2023
fe7b142
Merge pull request #692 from andyleiserson/mk-enc
andyleiserson Jun 15, 2023
da72267
Address PR comments
taikiy Jun 15, 2023
12f822f
Merge branch 'main' into report_collector
richajaindce Jun 16, 2023
4c09f00
Simplify get_parent()
taikiy Jun 16, 2023
f078c9c
Merge pull request #695 from taikiy/ipa-macros
akoshelev Jun 16, 2023
0613d75
WIP
benjaminsavage Jun 7, 2023
9dfc67c
Moving breakdown key bits to use Gf2
benjaminsavage Jun 16, 2023
d91b533
Git rebase and clippy
benjaminsavage Jun 16, 2023
cbac1c8
Print the query config, query size and time taken when report collect…
richajaindce Jun 16, 2023
5325bbc
Remove un-needed type signature
benjaminsavage Jun 16, 2023
e53d942
removing a bit more unneeded code
benjaminsavage Jun 16, 2023
98484e3
new gate generated by Gate derive macro
taikiy Jun 9, 2023
aa6cdf2
Merge pull request #709 from richajaindce/rc_metrics
akoshelev Jun 16, 2023
cd2ded8
Add compact-gate tests to the CI
taikiy Jun 17, 2023
69b424f
Add cfg_aliases and two aliases: unit-test and web-test
akoshelev Jun 17, 2023
a78b4ce
Merge branch 'main' into report_collector
richajaindce Jun 19, 2023
300e6e9
Report collector code extracted + script to run multiple queries
richajaindce Jun 19, 2023
5d317bd
Make new_query recover from communication errors
akoshelev Jun 19, 2023
97af938
Remove hyper-tls and replace it with hyper-rustls
akoshelev Jun 20, 2023
d245810
Enable compact-gate for docker image
taikiy Jun 17, 2023
7131d9a
Timing only the IPA run and not encryption
richajaindce Jun 20, 2023
fd4ec03
Update src/cli/playbook/ipa.rs
richajaindce Jun 20, 2023
5e9e9e7
address PR comments
taikiy Jun 20, 2023
bd221d8
Incorporate feedback + refactoring code
richajaindce Jun 20, 2023
c7bf515
Docker image in actions
richajaindce Jun 16, 2023
943f7ef
Removing self from Dockerfile
richajaindce Jun 20, 2023
5cdc4b1
Removing self from tags
richajaindce Jun 20, 2023
a3e4124
Merge pull request #717 from richajaindce/measurement
akoshelev Jun 20, 2023
c4c14da
Address feedback
akoshelev Jun 20, 2023
d053a59
Fix warnings
akoshelev Jun 20, 2023
a0b3119
Explicitly add dangerous_configuration feature for dev builds
akoshelev Jun 20, 2023
825001f
Merge pull request #716 from akoshelev/640-rustls-migration
akoshelev Jun 20, 2023
67bd10b
Merge from main
akoshelev Jun 20, 2023
f1287b1
Address feedback
akoshelev Jun 21, 2023
ede9b67
incorporate feedback
richajaindce Jun 21, 2023
9270fb3
Merge branch 'main' into report_collector
richajaindce Jun 21, 2023
91c39fd
Merge branch 'main' into docker
richajaindce Jun 21, 2023
d8048f3
Enabling docker action only when docker flow or Cargo.toml changes
richajaindce Jun 21, 2023
8834174
Remove variables which weren't being used
richajaindce Jun 21, 2023
aeebdaf
Merge pull request #718 from richajaindce/docker
martinthomson Jun 21, 2023
850bf53
Remove variables which weren't being used
richajaindce Jun 21, 2023
c5b1d5c
Bring back SOURCES_DIR
richajaindce Jun 21, 2023
0977115
Merge pull request #719 from richajaindce/docker
akoshelev Jun 21, 2023
a1f40ba
Merge pull request #712 from akoshelev/cfg-alias
akoshelev Jun 21, 2023
cc7f546
Fix Rustdoc for `ClientIdentity::from_pks8`
akoshelev Jun 21, 2023
2b26edd
Merge pull request #720 from akoshelev/rustls-fix-doc
martinthomson Jun 21, 2023
d8e4b31
Remove import
martinthomson Jun 22, 2023
051bbae
Use a context for building the docker image
martinthomson Jun 22, 2023
8074634
Merge pull request #722 from martinthomson/docker-context
martinthomson Jun 22, 2023
b3940a3
Merge branch 'main' into report_collector
richajaindce Jun 22, 2023
e5e2755
Adding a log to know when query is really submitted to the helpers
richajaindce Jun 22, 2023
a750adb
implement From<&str> for Compact
taikiy Jun 22, 2023
ff0454c
Merge pull request #715 from akoshelev/701-new-query-err
akoshelev Jun 22, 2023
772b363
Merge pull request #688 from richajaindce/report_collector
akoshelev Jun 23, 2023
0a90288
Merge from main
akoshelev Jun 23, 2023
fc81975
Simplify the CI image
martinthomson Jun 23, 2023
d019c0d
Copy makes the directory and cargo -C is unstable
martinthomson Jun 23, 2023
892ef09
Cleanup some of the breakdown key changes
martinthomson Jun 23, 2023
578d540
Make upgrade take an iterator
martinthomson Jun 23, 2023
ad9c720
Make upgrade take an iterator
martinthomson Jun 23, 2023
9753c34
Merge pull request #723 from martinthomson/docker-simple
akoshelev Jun 23, 2023
4faa962
Add QuerySize type
akoshelev Jun 23, 2023
fae284f
Merge from main
akoshelev Jun 23, 2023
d72a84d
Do the harder work of creating a BitDecomposed wrapper
martinthomson Jun 26, 2023
25db2ed
Merge branch 'main' into compact-gate
taikiy Jun 26, 2023
aee823d
don't run unit tests when compact-gate feature is enabled
taikiy Jun 26, 2023
ef97d17
Merge pull request #703 from akoshelev/record-count
akoshelev Jun 26, 2023
3179848
added Dp mechanism for adding noise in the clear to shared values and…
Jun 10, 2023
a091606
Merge from main
akoshelev Jun 26, 2023
28a4968
Fix Rustdoc
akoshelev Jun 26, 2023
4334603
define a trait for steps that don't trigger communications
taikiy Jun 28, 2023
8986d60
Restore doc test
martinthomson Jun 28, 2023
a946936
Remove `Float` trait
akoshelev Jun 28, 2023
88efe98
Fix flaky test
akoshelev Jun 28, 2023
a2bec43
Event generator: add report filter argument
akoshelev Jun 28, 2023
efbf594
Query status API
andyleiserson Jun 27, 2023
de4fb51
Remove flatten/unflatten mess
martinthomson Jun 29, 2023
3a70ee0
Merge branch 'main' into upgrade-iterator
martinthomson Jun 29, 2023
53d2b78
Merge pull request #724 from martinthomson/upgrade-iterator
martinthomson Jun 29, 2023
484a8bd
Address feedback
andyleiserson Jun 29, 2023
30c589c
Merge remote-tracking branch 'origin/main' into status-api
andyleiserson Jun 29, 2023
808dead
GenInputs command: take rng seed as an argument
akoshelev Jun 28, 2023
255e318
Merge pull request #725 from martinthomson/cleanup-bk
martinthomson Jun 30, 2023
e5a3a95
Merge branch 'main' into breakdown_key
martinthomson Jun 30, 2023
bb5e474
Add conversion probability
akoshelev Jun 30, 2023
e5af9fe
Merge pull request #684 from private-attribution/breakdown_key
martinthomson Jul 2, 2023
07414f4
Merge branch 'main' into compact-gate
taikiy Jul 3, 2023
8e42a99
Regenerate steps.txt with the latest protocol
taikiy Jul 3, 2023
f2b4662
make clippy happy
taikiy Jul 3, 2023
ef8afd1
Merge pull request #711 from taikiy/compact-gate
akoshelev Jul 3, 2023
12ad6c7
rounded DP noise
Jul 3, 2023
9d48c78
Add an option to RC binary to produce an output file
akoshelev Jul 3, 2023
74069a5
Merge from main
akoshelev Jul 3, 2023
77015a0
Merge @bmcase changes
akoshelev Jul 3, 2023
b7f00e6
Relax float assertions a bit
akoshelev Jul 3, 2023
a36c30d
Build docker CI image with compact-gate feature
taikiy Jul 4, 2023
3899b1e
Merge pull request #736 from taikiy/ci_docker
martinthomson Jul 4, 2023
406f46f
compile-time error if neither of the gates are enabled
taikiy Jul 4, 2023
979576f
Add query config and query size in the tracing logs
richajaindce Jul 4, 2023
14452bf
Address feedback
akoshelev Jul 4, 2023
8eff788
Merge pull request #733 from akoshelev/seed-event-type-rc
akoshelev Jul 4, 2023
5eed07f
Schematize IPA output file and add size, config and other query param…
akoshelev Jul 4, 2023
3e562bc
Review feedback
richajaindce Jul 5, 2023
f70ddaa
Merge pull request #738 from richajaindce/tracing
akoshelev Jul 5, 2023
98177fe
Merge branch 'main' into stream-modulus-conversion
martinthomson Jul 5, 2023
b6c905e
Compact gate integration tests are rust native
taikiy Jul 5, 2023
29e5266
Make some unit tests run once in CI and pre-commit hook
akoshelev Jul 5, 2023
69e0594
Merge pull request #731 from andyleiserson/status-api
andyleiserson Jul 5, 2023
e2f0980
Merge branch 'main' into rc-output-file
akoshelev Jul 5, 2023
82c5d0b
Fix formatting
akoshelev Jul 5, 2023
7d49413
Merge pull request #735 from akoshelev/rc-output-file
akoshelev Jul 5, 2023
586ff06
Merge pull request #737 from taikiy/gate_compile_time_error
akoshelev Jul 5, 2023
e737312
Move Shuttle tests to the individual modules
akoshelev Jul 5, 2023
4703831
Update tests/compact_gate.rs
taikiy Jul 6, 2023
003819e
checkpoint
martinthomson Jul 6, 2023
d178996
Merge branch 'main' into stream-modulus-conversion
martinthomson Jul 6, 2023
566087a
checkpoint
martinthomson Jul 6, 2023
1e2d1cb
Address feedback
akoshelev Jul 6, 2023
bb30a1f
Fix comment inside a test
akoshelev Jul 6, 2023
e485663
Merge pull request #729 from akoshelev/dp_gaussian_2
akoshelev Jul 6, 2023
7a42a35
Merge branch 'main' into gate_integration_test
taikiy Jul 7, 2023
5bd2488
tests pass in local but fails in github
taikiy Jul 7, 2023
031dcf8
Sooo close
martinthomson Jul 7, 2023
fe6bb56
Tests pass in the mainline code
martinthomson Jul 7, 2023
b8ad090
I have no idea why this change is not OK
martinthomson Jul 7, 2023
8589aef
Oh, that's rather simple in the end, I was doubling up on compensation
martinthomson Jul 7, 2023
cd67598
Benches
martinthomson Jul 7, 2023
fbb6aad
Protocol test changes
martinthomson Jul 7, 2023
72a6a7d
This check? This is not good
martinthomson Jul 7, 2023
8a404b6
build helper app when running compact-gate integration tests
taikiy Jul 7, 2023
36b434c
New command for report collector: apply DP noise
akoshelev Jul 7, 2023
b6364db
Hide compact gate module behind a feature flag
akoshelev Jul 7, 2023
738ed99
Brush up dp noise command
akoshelev Jul 7, 2023
1b5ee95
Merge pull request #739 from taikiy/gate_integration_test
akoshelev Jul 10, 2023
0dbfcfc
Fix deprecated method warning in HTTP client code
akoshelev Jul 10, 2023
e8cc15f
Get rid of no-op PRSS
akoshelev Jul 10, 2023
348e6d8
Merge pull request #744 from private-attribution/compact-feature
akoshelev Jul 11, 2023
be91950
Merge pull request #740 from private-attribution/moar-unit-tests
akoshelev Jul 11, 2023
d83140e
Merge pull request #747 from akoshelev/fix-build-rustls
benjaminsavage Jul 11, 2023
f110cb7
Finish my thought inside one comment
akoshelev Jul 11, 2023
2d49c6a
Merge from main
akoshelev Jul 11, 2023
7b6e443
Merge pull request #745 from akoshelev/rc-dp
akoshelev Jul 11, 2023
731f29b
Fix docker
richajaindce Jul 11, 2023
06491f7
Add step/role to receive error
akoshelev Jul 12, 2023
2d64bea
Merge pull request #750 from richajaindce/docker_fix
akoshelev Jul 12, 2023
68a03cc
Merge pull request #751 from akoshelev/stream-error
akoshelev Jul 12, 2023
fbb0f5d
Fix clippy warnings after ugprading to Rust 1.71
akoshelev Jul 13, 2023
b94e8a3
Infra error: print inner errors in error messages
akoshelev Jul 13, 2023
c92dc8e
Merge pull request #755 from akoshelev/rust-171
akoshelev Jul 13, 2023
4c224c3
Merge pull request #756 from akoshelev/inner-error
akoshelev Jul 14, 2023
3358bc0
Address review feedback (mostly comments)
martinthomson Jul 17, 2023
f917092
Merge branch 'main' into stream-modulus-conversion
martinthomson Jul 17, 2023
d37a1df
Merge pull request #748 from akoshelev/clean-up-no-prss
akoshelev Jul 17, 2023
f8ac74c
fix flaky dp test
Jul 18, 2023
a02423e
Merge pull request #761 from bmcase/fix_dp_test
martinthomson Jul 19, 2023
a2f0c44
Make docker image capable of running HTTP IPA
akoshelev Jul 20, 2023
e1575b1
step attribute macro
taikiy Jul 21, 2023
7b8e064
add a new line at the EOF
taikiy Jul 21, 2023
4767cad
Merge pull request #763 from private-attribution/docker-ca-certs
martinthomson Jul 21, 2023
cfb6372
annotate more steps
taikiy Jul 24, 2023
849ec54
collect step tracing each time a step is narrowed
taikiy Jul 27, 2023
091863b
address PR comments
taikiy Jul 27, 2023
3bb3337
Merge pull request #764 from taikiy/strum_steps
akoshelev Jul 28, 2023
e79fe8b
Relax normal distribution bounds for DP test even more
akoshelev Jul 31, 2023
c4a7136
Improve logging in IPA
akoshelev Aug 1, 2023
69795bf
hide step tracing
taikiy Aug 2, 2023
09f6703
Merge pull request #769 from akoshelev/debuggability
akoshelev Aug 2, 2023
005979b
Merge pull request #768 from akoshelev/dp-tests-again
akoshelev Aug 2, 2023
ff78f54
Merge branch 'main' into stream-modulus-conversion
martinthomson Aug 2, 2023
e27929c
Partial haxx
martinthomson Aug 3, 2023
e7998d7
Fix compact gate steps for streaming
taikiy Jul 18, 2023
0003dda
better counter description
taikiy Aug 3, 2023
917affc
Remove unused stuff
martinthomson Aug 3, 2023
9d0a1b1
Merge pull request #743 from martinthomson/stream-modulus-conversion
martinthomson Aug 3, 2023
43c8711
Print descriptive gate inside Channel's debug implementation
akoshelev Aug 4, 2023
0897436
Add global panic hook handler and use it inside helper binary
akoshelev Aug 4, 2023
6e6de16
Include the endpoint into HTTP error messages
akoshelev Aug 5, 2023
8348600
Enable HTTP2 PING for IPA connections
akoshelev Aug 9, 2023
1e01871
Address feedback
akoshelev Aug 10, 2023
44818c0
Minor style changes
akoshelev Aug 10, 2023
a02ffd9
Merge pull request #772 from akoshelev/keep-alive
akoshelev Aug 10, 2023
23a112c
Merge pull request #770 from akoshelev/more-debugging
akoshelev Aug 10, 2023
df0f01e
Use strings in Compact gate Display
akoshelev Aug 10, 2023
00e80cc
Merge pull request #767 from taikiy/narrow_tracing
akoshelev Aug 10, 2023
2ffce66
Merge pull request #773 from akoshelev/receive-gate-log
martinthomson Aug 10, 2023
885fdad
Change pre-commit and CI hook to reflect new formatting rules
akoshelev Aug 11, 2023
e3d9748
Fix imports according to formatting rules
akoshelev Aug 11, 2023
d812293
Merge pull request #629 from akoshelev/fmt-no-import-groups
akoshelev Aug 11, 2023
a10e662
CI: split extra step into two
akoshelev Aug 11, 2023
913a89c
Tarpaulin action
akoshelev Aug 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# A list of methods that are discouraged to use in production code. It is still possible to use them in tests
disallowed-methods = [
{ path = "futures::future::join_all", reason = "We don't have a replacement for this method yet. Consider extending `SeqJoin` trait." },
{ path = "futures::future::try_join_all", reason = "Use Context.try_join instead." },
]
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/target/
29 changes: 29 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Security audit
on:
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
pull_request:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
schedule:
- cron: '0 0 * * *'
workflow_dispatch:

jobs:
audit:
name: Run cargo audit
env:
CARGO_TERM_COLOR: always
runs-on: ubuntu-latest
permissions:
pull-requests: read
contents: read
steps:
- uses: actions/checkout@v3

- name: cargo audit
run: |
cargo audit
127 changes: 114 additions & 13 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,31 @@
name: CI
on: [push, pull_request]
on:
push:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
- "src/**/*"
- "benches/**/*"
- "tests/**/*"
pull_request:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
- "src/**/*"
- "benches/**/*"
- "tests/**/*"

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings
RUSTDOCFLAGS: -D warnings

jobs:
rust-check:
name: Rust Checks
basic:
name: Basic Checks
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0

runs-on: ubuntu-latest

steps:
Expand All @@ -24,22 +45,102 @@ jobs:
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}

- name: Check formatting
run: cargo fmt --all -- --check --config "imports_granularity=Crate,group_imports=StdExternalCrate"

- name: Clippy
if: ${{ success() || failure() }}
run: cargo clippy --tests

- name: Clippy concurrency tests
if: ${{ success() || failure() }}
run: cargo clippy --tests --features shuttle

- name: Build
if: ${{ success() || failure() }}
run: cargo build --tests

- name: Run Tests
run: cargo test

- name: Run Web Tests
run: cargo test --no-default-features --features "cli web-app real-world-infra test-fixture descriptive-gate"

- name: Run compact gate tests
run: cargo test --no-default-features --features "cli web-app real-world-infra test-fixture compact-gate"

extra-builds:
name: Additional Builds
env:
RUSTFLAGS: -D warnings -C target-cpu=native

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: dtolnay/rust-toolchain@stable
with:
components: clippy,rustfmt

- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}

- name: Release Build
run: cargo build --release

- name: Build benchmarks
run: cargo build --benches --all-features
run: cargo build --benches --no-default-features --features "enable-benches descriptive-gate"

- name: Check formatting
if: ${{ success() || failure() }}
run: cargo fmt --all -- --check
- name: Build concurrency tests
run: cargo build --release --features shuttle

- name: Clippy
if: ${{ success() || failure() }}
run: cargo clippy --tests -- -D warnings -D clippy::pedantic
- name: Build concurrency tests (debug mode)
run: cargo build --features shuttle

- name: Run Tests
run: cargo test
benches-and-fuzzy:
name: Run benchmarks and concurrency tests

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: dtolnay/rust-toolchain@stable
with:
components: clippy,rustfmt

- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}

- name: Run concurrency tests
run: cargo test --release --features shuttle

- name: Run IPA bench
run: cargo bench --bench oneshot_ipa --no-default-features --features "enable-benches descriptive-gate"

codecov-tarpaulin:
name: Generate code coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
- uses: actions-rs/[email protected]
# Note: closed-source code needs to provide a token,
# but open source code does not.
- name: Upload to codecov.io
uses: codecov/codecov-action@v2
38 changes: 38 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Publish Helper Image CI

on:
workflow_dispatch:
push:
paths:
- "docker/ci/**"
- ".github/workflows/docker.yml"
- "Cargo.toml"
schedule:
# Once monthly at a randomly selected time.
- cron: "24 2 3,18 * *"

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v3

- name: "Setup Docker Buildx"
uses: docker/setup-buildx-action@v2

- name: "Login to GitHub Container Registry"
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: "Build and Publish Helper Image"
uses: docker/build-push-action@v4
with:
context: .
file: ./docker/ci/helper.Dockerfile
push: true
tags: ghcr.io/${{ github.repository }}/ipa-helper:latest
platforms: linux/amd64
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
*.swp
*/db
*~
/.idea/
/.venv/
/.vscode/
/Cargo.lock
/target/
/test_data/
4 changes: 4 additions & 0 deletions .tarpaulin.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[descriptive_gate_coverage]
no_default_features = true
features = "cli web-app in-memory-infra descriptive-gate"
release = true
Loading