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

V1.0 rc.1 #133

Draft
wants to merge 257 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
c49f252
feat: add UCAN types
QuinnWilton Sep 28, 2023
9c06595
feat: add JWSSignature trait for mapping signatures to JWS alg names
QuinnWilton Sep 28, 2023
6e12522
feat: add eddsa support
QuinnWilton Sep 28, 2023
60ec612
feat: add es256 support
QuinnWilton Sep 28, 2023
66b8602
feat: add es256k support
QuinnWilton Sep 28, 2023
c82c0ff
feat: add es384 support
QuinnWilton Sep 28, 2023
01acb00
feat: add es512 support
QuinnWilton Sep 28, 2023
f401608
feat: add ps256 support
QuinnWilton Sep 28, 2023
d455cee
feat: add rs256 support
QuinnWilton Sep 28, 2023
832b333
feat: add BLST support
QuinnWilton Sep 28, 2023
cfb7886
feat: Add a builder for creating UCANs
QuinnWilton Sep 28, 2023
841be84
test: add UCAN 0.10.0 conformance tests
QuinnWilton Sep 28, 2023
5133dcc
test: improve conformance test error messages
QuinnWilton Sep 28, 2023
f984afb
refactor: parse proofs as CIDs
QuinnWilton Oct 4, 2023
7ab91dd
refactor: require specifying the time to validate at
QuinnWilton Oct 4, 2023
f16f1a3
feat: add Store and AsyncStore trait with in-memory implementation
QuinnWilton Oct 4, 2023
580b023
refactor: remove unused Ucan::is_authorized
QuinnWilton Oct 4, 2023
d560092
test: add tests for WNFS plugin
QuinnWilton Oct 4, 2023
bd338dd
fix: fix a few bugs in UCAN plugin + add tests
QuinnWilton Oct 5, 2023
aaf3102
fix: properly base64 encode the header and payload when signing in th…
QuinnWilton Oct 6, 2023
417fd9f
fix: support invoking the register_plugin! macro from outside the create
QuinnWilton Oct 6, 2023
5c31410
fix: handle deserializing caveats for the top ability
QuinnWilton Oct 6, 2023
8762375
refactor: explicitly specify UCANs generics when constructing one
QuinnWilton Oct 6, 2023
12409b9
fix: handle the top ability and capabilities rooted under the initial…
QuinnWilton Oct 6, 2023
f1c88e2
refactor: use shorthand singleton syntax for EmptyCaveat
QuinnWilton Oct 6, 2023
3c088bd
feat: use features to automatically register DID verifiers and signat…
QuinnWilton Oct 6, 2023
fafd183
fix: re-export linkme to avoid requiring callers install it manually
QuinnWilton Oct 6, 2023
297ba2e
fix: require that resources, abilities, and caveats are Send + Sync
QuinnWilton Oct 6, 2023
909ffb7
fix: Qualify `Plugin` use in `register_plugin!` macro
matheus23 Oct 11, 2023
eb58bbe
feat: Implement Serialize/Deserialize for UCAN
matheus23 Oct 16, 2023
7da838e
fix: Encode `EmptyCaveat` as `{}` instead of `null`
matheus23 Oct 18, 2023
16e5565
Merge pull request #2 from fission-codes/matheus23/qualfy-plugin-macro
QuinnWilton Oct 23, 2023
f3e3bff
Merge pull request #3 from fission-codes/matheus23/expose-serde
QuinnWilton Oct 23, 2023
ef72ace
test: add test for serializing / deserializing empty caveats
QuinnWilton Oct 23, 2023
5d272de
feat: Allow the same resource scheme for multiple plugins
matheus23 Oct 24, 2023
a4d93f1
refactor: compute the issuer DID from the Signer<K> automatically
QuinnWilton Oct 25, 2023
5cad950
fix: honor UCAN lifetimes
QuinnWilton Oct 26, 2023
f9d56a6
test: test querying the capabilities for an invocation proof chain
QuinnWilton Oct 26, 2023
240549b
Merge pull request #4 from fission-codes/matheus23/allow-same-resourc…
QuinnWilton Oct 27, 2023
28345a4
chore: remove cargo-spellcheck from nix.flake
QuinnWilton Oct 26, 2023
827a7cd
chore: run `nix flake update`
QuinnWilton Oct 26, 2023
98ae17d
chore: set crate-type to cdylib in prep for wasm builds
QuinnWilton Oct 30, 2023
0b2a2d7
refactor: gate static plugin registration behind the target
QuinnWilton Oct 30, 2023
e6a64d3
chore: remove unused `tracing` crate
QuinnWilton Oct 30, 2023
0257b3b
refactor: gate support for each algorithm behind features
QuinnWilton Oct 30, 2023
537f4fe
refactor: only register the did-key verifier if the feature is set
QuinnWilton Oct 30, 2023
b874f00
refactor: configure dev dependencies for wasm32 support
QuinnWilton Oct 30, 2023
074a18e
chore: configure the flake to use clang from nixpkgs
QuinnWilton Oct 30, 2023
a56c450
chore: enable wasm32-unknown-unknown as a Rust target in the flake
QuinnWilton Oct 30, 2023
069e2fc
refactor: remove K generic from SignerDid
QuinnWilton Nov 22, 2023
321555f
chore: add some js related files to .gitignore
QuinnWilton Nov 22, 2023
60b5b2c
refactor: fall back to a default multihash if unspecified
QuinnWilton Nov 22, 2023
42c7386
refactor: switch from instant to web-time for wasm support
QuinnWilton Nov 22, 2023
6b7c87c
feat: add support for async signing
QuinnWilton Nov 22, 2023
d8e5039
feat: add start of WIP wasm bindings
QuinnWilton Nov 22, 2023
edfefb1
fix: allow proofs to have unbounded lifetimes in subsumption checking
QuinnWilton Nov 28, 2023
274acc2
feat: add tracing to Ucan::capabilities_for
QuinnWilton Nov 29, 2023
692a4d4
Small change to get this up in a PR
expede Jan 18, 2024
c6e9e17
feat: move flake.nix to numtide/devshell
expede Jan 19, 2024
3177cae
Update README to use new GitHub markdown features
expede Jan 19, 2024
a31445a
Trim whitespace
expede Jan 19, 2024
3cda14f
feat: frustration
expede Jan 19, 2024
d6a62fb
fix: typo
expede Jan 19, 2024
0e0efa2
Adding some TODOs and FIXMEs to come back to
expede Jan 19, 2024
77dafd9
Exploratory programming
expede Jan 24, 2024
9c38b9b
Formatter
expede Jan 24, 2024
a5b5434
Splitting out separate files
expede Jan 24, 2024
6ec904c
Add Signature envelope and receipts
expede Jan 24, 2024
fb8336f
More exploration
expede Jan 24, 2024
aaa2a79
WIP
expede Jan 25, 2024
ad94b97
More exploratory programming, cleanup, and conds
expede Jan 25, 2024
e72b6d8
WIP
expede Jan 26, 2024
9cb4126
Remove -rs from package name
expede Jan 26, 2024
7a5452f
Thanks for the suggestions everyone! :tada:
expede Jan 26, 2024
454670c
Update cargo
expede Jan 26, 2024
a22b0c2
Feels like a hack, but that's a workable serializaion strategy
expede Jan 27, 2024
c69c7ba
Ahead of proven contraint
expede Jan 27, 2024
f9c712d
Actually on checking code afetr getting stuck with serde
expede Jan 27, 2024
2ff88a1
LOL wow the hacks, but honestly these will clean up nicely
expede Jan 27, 2024
7bfc238
Promising direction!
expede Jan 28, 2024
f0a5bf4
Making headway!
expede Jan 28, 2024
66502a8
Much improved proof checking
expede Jan 28, 2024
831695d
Implement CRUD heirarchy to test it out -- seems fine
expede Jan 28, 2024
8f9053a
Save state
expede Jan 28, 2024
6382d8a
Save before changig CheckSelf
expede Jan 29, 2024
f24fcf8
Proving almost done
expede Jan 29, 2024
2355b79
Fixed conditions
expede Jan 29, 2024
21af73e
Got rid of the extra constraint... but at what cost?!??!
expede Jan 29, 2024
f417565
Rounding out types & breaking up modules
expede Jan 30, 2024
9cb6cdf
Break up modules in advance of cleanup
expede Jan 31, 2024
9c6fb07
More cleanup
expede Jan 31, 2024
fdaae6c
I think mainly done moving modules around
expede Jan 31, 2024
8ff556c
Serde sometimes, I tell ya
expede Feb 1, 2024
406b72d
Roughly completed the metadata subsystem
expede Feb 1, 2024
5ec4b9f
Save ahead of wasming
expede Feb 1, 2024
d8ebca2
Save point before riping out pointers
expede Feb 2, 2024
c8bfde7
Learning about Wasm bindgen
expede Feb 2, 2024
f668aa6
Ipld <-> JsValue
expede Feb 2, 2024
5fb875f
okay well this time it compiles :P
expede Feb 2, 2024
9461d8d
Save debugging bindgen
expede Feb 3, 2024
d435ee4
Needs lots of cleanup, but the wasm startegy seems to work
expede Feb 3, 2024
1b36674
Abstracted out lots of dynamic parts / added hooks for lots of things
expede Feb 4, 2024
9209f75
Save before compiling JS bindings
expede Feb 4, 2024
d24f8f4
Happily builds for wasm including JS bindgings
expede Feb 4, 2024
e5fdd53
Configure wasm-pack & wasm-opt
expede Feb 4, 2024
220c9a4
Starting on high-level interfaces :D
expede Feb 5, 2024
1edf634
Many docs. Very wow.
expede Feb 6, 2024
395cbc2
more doctests
expede Feb 6, 2024
448fdfb
Save for the day; working on JS nonce gen
expede Feb 6, 2024
e81f5a5
Finished another round of fighting with feature flags
expede Feb 6, 2024
e739577
Time!
expede Feb 6, 2024
0766cfe
Save
expede Feb 7, 2024
a111ffb
No more meta handling
expede Feb 7, 2024
e8d7afe
Save ahead of reorg
expede Feb 7, 2024
1ed78e1
Save before reworking Promise
expede Feb 7, 2024
c60234f
Fixin' warnings!
expede Feb 8, 2024
4c64c7a
What a saga!
expede Feb 9, 2024
a1d661c
Lots of cleanup
expede Feb 9, 2024
6fefae5
I believe that's most of teh abilities done.
expede Feb 10, 2024
3c2e49a
Save poijt
expede Feb 10, 2024
366c416
Time to go through the type constraints
expede Feb 10, 2024
ae01353
Much simplified delegationpayload
expede Feb 10, 2024
a51202f
Much simplification
expede Feb 10, 2024
3097b3d
Needs renaming, but custom serializer feels much better
expede Feb 10, 2024
3588c29
Lost of docs, wired invocation into the delegation checker
expede Feb 11, 2024
4f3468f
Save before trait reorg
expede Feb 12, 2024
1b68922
Actually chekc the delegation chain
expede Feb 12, 2024
d5e0b13
On to the crypto
expede Feb 12, 2024
ef39431
OKay I lied; I wrote the delegation agent instead
expede Feb 12, 2024
5314d82
DID Key crypto
expede Feb 13, 2024
3f69fc9
Parameterized by DID
expede Feb 13, 2024
23472a2
Tests passing again
expede Feb 13, 2024
3b8d57d
Working on presets
expede Feb 13, 2024
9012ce3
Save point after writing the signature envelope
expede Feb 13, 2024
cc5d305
VERY WIP invocation agent
expede Feb 14, 2024
1b60658
Working on invocaton agent
expede Feb 15, 2024
d99e16a
Most of the way through invocation agent
expede Feb 16, 2024
acc564e
compiles again... back to cleanup
expede Feb 17, 2024
70ff160
Fix linter warnings, starting to remove commented out sections
expede Feb 17, 2024
a48e35c
Attempting to remove some crates
expede Feb 17, 2024
bcf6a50
Remove unused crates
expede Feb 17, 2024
a8ff1f3
Custom serilaizer
expede Feb 17, 2024
eef78f3
Cleaning up naming, squashing TODOs, adding error types
expede Feb 17, 2024
d1f05f3
Clean up did:key
expede Feb 17, 2024
e9a77c2
Save before some newtyping
expede Feb 17, 2024
83f8e6d
Newtype invocation
expede Feb 17, 2024
233397e
Delegation newtype
expede Feb 17, 2024
c2dcb1d
Better docs
expede Feb 17, 2024
a358ffb
Break up a few modules
expede Feb 18, 2024
6b98b49
Move signature under crypto
expede Feb 18, 2024
c41e0b8
Porting IPLD proptest helpers from inlien-ipld
expede Feb 18, 2024
58f5300
More Arbitrary instances
expede Feb 18, 2024
bf3e2ff
Add more arbitrary (receipt paylaod)
expede Feb 18, 2024
5016132
Varsig implementation
expede Feb 19, 2024
76f0fc9
Expose CID helpers
expede Feb 21, 2024
66efbda
Massively simplify instanced for abilities
expede Feb 21, 2024
322b2c6
Cleanup after simplifying promises
expede Feb 22, 2024
8522b55
In theory, that's fully updated
expede Feb 24, 2024
5666899
Working on policy DSL
expede Feb 27, 2024
d1fbad7
Big chunk through the interpreter
expede Feb 28, 2024
ffd4f1a
Big chunk of the way through the first pass on the interpreter
expede Feb 28, 2024
00c9806
Switched to maps for better indexing
expede Feb 28, 2024
a3b328a
Saving
expede Feb 28, 2024
8c936aa
Just need to add pattern matching unification
expede Feb 28, 2024
730894f
Autoencode
expede Feb 29, 2024
5bdba9b
Minimal predicate language
expede Mar 2, 2024
e00f68d
selector parser
expede Mar 3, 2024
3143c39
Swap all files to predicates from condition
expede Mar 4, 2024
65987cd
Cleanup post-spec updates
expede Mar 5, 2024
b156a3a
Going through FIXMEs
expede Mar 5, 2024
6055dd2
Ahead of ripping out devshell for blst
expede Mar 5, 2024
cd22a59
Begn conversion
expede Mar 5, 2024
f5e9cc5
Recover command menu
expede Mar 6, 2024
4541170
Plugging various FIXMEs
expede Mar 6, 2024
abce1e3
Save before fixing promises
expede Mar 6, 2024
4db9cf5
Hugely fixup the promise hierarchy
expede Mar 6, 2024
537811f
Switch to envelope trait
expede Mar 7, 2024
d7a7e11
add default for in memory store
expede Mar 7, 2024
a5180cd
Helpers for integrating to server
expede Mar 7, 2024
656b529
u64 because libpld
expede Mar 7, 2024
ff366c5
update for u64 everywhere
expede Mar 7, 2024
842bf28
Builders
expede Mar 7, 2024
2cb8ef8
lol oops
expede Mar 7, 2024
51c3b02
oops again!
expede Mar 7, 2024
ec1b2b6
PartialOrd
expede Mar 7, 2024
33a0ac3
Defaults
expede Mar 7, 2024
cfe55fd
this is such test code lol
expede Mar 7, 2024
8ecd176
Give delegation an encode instance
expede Mar 7, 2024
326338c
Helper functions on memstore
expede Mar 7, 2024
d5cfbac
make method public
expede Mar 7, 2024
8213091
printable error
expede Mar 7, 2024
6e746ad
Hopefully this eliminates the stack overflow?
expede Mar 7, 2024
39939f4
remote debugging... gross
expede Mar 7, 2024
d0d9055
good ol' printline debugging
expede Mar 7, 2024
f50445d
Serialize to IPLD
expede Mar 7, 2024
6a08986
Better defaults for inv payload builder
expede Mar 7, 2024
ef77814
same for invocation
expede Mar 8, 2024
2f38108
Add some dbg
expede Mar 8, 2024
6e9131c
debugging the store
expede Mar 8, 2024
5c3cea5
Dios mio memstore test works now
expede Mar 8, 2024
9afd69d
WIP
expede Mar 9, 2024
30e687c
Remove bools from pred lang
expede Mar 9, 2024
02d4c2f
Working on predicate unification / symbolic matching
expede Mar 12, 2024
bfae427
Add "via" functionality
expede Mar 13, 2024
b65ec3e
Defaults
expede Mar 13, 2024
61ed0ca
Much work, but clearer what's required
expede Mar 14, 2024
fce6a9a
Introduced (correctly) failing test
expede Mar 14, 2024
aa41773
Evidently proof search is borked
expede Mar 15, 2024
42358bb
Fix test
expede Mar 15, 2024
fa90a81
Plugging little edge cases in invocation agent flow
expede Mar 15, 2024
08f72df
Manual test context
expede Mar 16, 2024
2cb9a70
Fixed test
expede Mar 16, 2024
de000f2
Don't mind me, just fighting with varint in did:key
expede Mar 16, 2024
507507e
DID key test vectors all succeed
expede Mar 16, 2024
3bba844
Manualy test all DID test vectors
expede Mar 16, 2024
2ef67b3
working on filter parsing edge cases with proptests
expede Mar 16, 2024
02b37bd
I guess manually parsing is the right thing sometimes
expede Mar 17, 2024
8c70158
More tests, mainly fixing arbitrary instances
expede Mar 17, 2024
71ee7f3
Fixed errors in Nonce comparison
expede Mar 17, 2024
07ed478
Fix glob matcher
expede Mar 18, 2024
b965982
Working on edge cases in selector parser
expede Mar 18, 2024
c949a4f
refactor: Adjustments to `Store`s & `Agent`s (#9)
matheus23 Mar 21, 2024
3503a32
Fairly complete predicate tests
expede Mar 18, 2024
deee2bc
WIP rebasing
expede Mar 21, 2024
93cce69
Revert so that can push
expede Mar 21, 2024
643b466
Correct the `FIXME` for command
expede Mar 21, 2024
faba286
Test delegation store
expede Mar 22, 2024
246578b
WIP testing
expede Mar 23, 2024
279f17c
Save WIP writng more tests
expede Mar 25, 2024
6affc01
Not pretty, but got that last selector passing
expede Mar 25, 2024
bc0a275
Add automatic CID conversaion error
expede Mar 26, 2024
96b0fe1
Receipts as invocations
expede Mar 26, 2024
4913ad0
Require Subject on get_chain
expede Mar 26, 2024
13510c5
Merge pull request #12 from fission-codes/test-deleg-store
matheus23 Mar 26, 2024
ff87859
Merge pull request #13 from fission-codes/wrap_auto_cid_insert
matheus23 Mar 26, 2024
d854438
Merge pull request #15 from fission-codes/remove-unrestricted-powerbo…
matheus23 Mar 26, 2024
2172b21
fix: Error early in `Agent::invoke` if there's no valid delegation chain
matheus23 Mar 21, 2024
f894e69
fix: Check for delegations for the specific command, not for "/"
matheus23 Mar 21, 2024
5d26366
refactor: Rename `MissingDelegation` -> `DelegationNotFound`
matheus23 Mar 22, 2024
4bd583a
refactor: Use `Mutex` instead of `RwLock`
matheus23 Mar 22, 2024
fd0922f
fix: Check for the appropriate command in `Agent::delegate`
matheus23 Mar 22, 2024
0dfb2a6
refactor: Take `command: &str` instead of by `String` in `Store::get_…
matheus23 Mar 22, 2024
8cc6ac5
refactor: Turn `try_fold` into for loop in `Invocation::check`
matheus23 Mar 22, 2024
d0fab39
Revert "refactor: Turn `try_fold` into for loop in `Invocation::check`"
matheus23 Mar 25, 2024
5dbd296
Merge pull request #11 from fission-codes/matheus23/v1.0-2
matheus23 Mar 26, 2024
7f680d3
refactor: Remove unused constraints (#17)
matheus23 Mar 27, 2024
53c49d2
Nonce simplification (#19)
expede Mar 27, 2024
a00db2d
Rename `CannotCidOr`, API for creating powerlines & more (#18)
matheus23 Mar 28, 2024
a8d1b1d
Cleanup unused imports & bump Nix Flake (#16)
expede Mar 28, 2024
076ea4c
Add Delegation Super Builder (#20)
expede Aug 6, 2024
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
2 changes: 0 additions & 2 deletions .cargo/config

This file was deleted.

2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
use flake
use_flake
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Default
* @cdata @ucan-wg/fission
* @ucan-wg
23 changes: 15 additions & 8 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ A clear and concise description of what the bug is.
**To Reproduce**

Steps to reproduce the behavior:
1. Use function '...'
1. Run command '...'
2. See error
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**

Expand All @@ -42,12 +43,18 @@ A clear and concise description of what you expected to happen.

If applicable, add screenshots to help explain your problem.

**Environment (please fill in relevant information):**
**Desktop (please complete the following information):**

- OS: [e.g. macOS]
- Version [e.g. 13.3.1]
- Browser: [e.g. Chrome 113.0.5672.126, Firefox 113.01]
- Rust Version [1.68.2]
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**

Expand Down
17 changes: 1 addition & 16 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,13 @@ version: 2

updates:
- package-ecosystem: "cargo"
directory: "/ucan"
commit-message:
prefix: "chore"
include: "scope"
target-branch: "main"
schedule:
interval: "weekly"
labels:
- "chore"

- package-ecosystem: "cargo"
directory: "/ucan-key-support"
directory: "/"
commit-message:
prefix: "chore"
include: "scope"
target-branch: "main"
schedule:
interval: "weekly"
labels:
- "chore"

- package-ecosystem: "github-actions"
directory: "/"
Expand All @@ -36,5 +23,3 @@ updates:
target-branch: "main"
schedule:
interval: "weekly"
labels:
- "chore"
17 changes: 17 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: 🛡 Audit-Check

on:
schedule:
- cron: '0 0 * * *'

jobs:
security-audit:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Run Audit-Check
uses: rustsec/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
58 changes: 58 additions & 0 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: 📈 Benchmark

on:
push:
branches: [ main ]

pull_request:
branches: [ '**' ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
benchmark:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
with:
override: true
toolchain: stable

- name: Cache Project
uses: Swatinem/rust-cache@v2

- name: Run Benchmark
run: cargo bench --features test_utils -- --output-format bencher | tee output.txt

- name: Upload Benchmark Result Artifact
uses: actions/upload-artifact@v3
with:
name: bench_result
path: output.txt

- name: Create gh-pages Branch
uses: peterjgrainger/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
branch: gh-pages

- name: Store Benchmark Result
uses: benchmark-action/github-action-benchmark@v1
with:
name: Rust Benchmark
tool: 'cargo'
output-file-path: output.txt
github-token: ${{ secrets.GITHUB_TOKEN }}
auto-push: ${{ github.event_name == 'push' && github.repository == 'ucan-wg/ucan' && github.ref == 'refs/heads/main' }}
alert-threshold: '200%'
comment-on-alert: true
fail-on-alert: true
alert-comment-cc-users: '@ucan-wg'
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ on:
branches: [ main ]

pull_request:
branches: [ '*' ]
branches: [ '**' ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
coverage:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -29,10 +33,10 @@ jobs:
- name: Generate Code coverage
env:
CARGO_INCREMENTAL: '0'
LLVM_PROFILE_FILE: "rs-ucan-%p-%m.profraw"
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
run: cargo test --all
LLVM_PROFILE_FILE: "ucan-%p-%m.profraw"
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off'
run: cargo test --all-features

- name: Install grcov
run: "curl -L https://github.com/mozilla/grcov/releases/download/v0.8.12/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf -"
Expand All @@ -51,7 +55,8 @@ jobs:

- name: Upload to codecov.io
uses: codecov/codecov-action@v3
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
fail_ci_if_error: false
files: lcov.info
38 changes: 0 additions & 38 deletions .github/workflows/nix_build.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success'

outputs:
releases_created: ${{ steps.release.outputs['ucan--release_created'] || steps.release.outputs['ucan-key-support--release_created'] }}
release_created: ${{ steps.release.outputs.release_created }}

steps:
- name: Run release-please
Expand All @@ -45,13 +45,12 @@ jobs:

permissions:
contents: write
pull-requests: write

if: ${{ needs.release-please.outputs.releases_created || github.event.inputs.force-publish }}
steps:
if: ${{ needs.release-please.outputs.release_created || github.event.inputs.force-publish }}

steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cache Project
uses: Swatinem/rust-cache@v2
Expand All @@ -63,20 +62,12 @@ jobs:
profile: minimal
toolchain: stable

- name: Install Cargo Workspaces
env:
RUSTFLAGS: '-Copt-level=1'
uses: actions-rs/cargo@v1
with:
args: --force cargo-workspaces
command: install

- name: Verify Publishing of crate
uses: katyo/publish-crates@v1
uses: katyo/publish-crates@v2
with:
dry-run: true

- name: Cargo Publish to crates.io
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: cargo workspaces publish --from-git --allow-dirty
uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
Loading
Loading