Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm

add checks or whatever

Changed files
+47 -3
.github
workflows
src
+29
.github/workflows/checks.yml
···
+
name: checks
+
+
on:
+
push:
+
branches: [ main ]
+
pull_request:
+
branches: [ main ]
+
+
env:
+
CARGO_TERM_COLOR: always
+
+
jobs:
+
test:
+
runs-on: ubuntu-latest
+
steps:
+
- uses: actions/checkout@v4
+
- name: Build lib
+
run: cargo build --verbose
+
- name: Run tests
+
run: cargo test --verbose
+
+
style:
+
runs-on: ubuntu-latest
+
steps:
+
- uses: actions/checkout@v4
+
- name: fmt
+
run: cargo fmt --all -- --check
+
- name: clippy
+
run: cargo clippy --all-targets --all-features -- -D warnings
+13
Makefile
···
+
.PHONY: check test fmt clippy
+
all: check
+
+
test:
+
cargo test
+
+
fmt:
+
cargo fmt --all
+
+
clippy:
+
cargo clippy --all-targets --all-features -- -D warnings
+
+
check: test fmt clippy
+2
rust-toolchain.toml
···
+
[toolchain]
+
components = [ "rustfmt", "clippy" ]
+3 -3
src/did.rs
···
#[test]
fn test_doc_exmples_atproto() {
// https://atproto.com/specs/did#at-protocol-did-identifier-syntax
-
for case in vec!["did:plc:z72i7hdynmk6r22z27h6tvur", "did:web:blueskyweb.xyz"] {
+
for case in ["did:plc:z72i7hdynmk6r22z27h6tvur", "did:web:blueskyweb.xyz"] {
assert!(parse_did(case).is_some(), "should pass: {case}")
}
}
···
#[test]
fn test_doc_exmples_lexicon() {
// https://atproto.com/specs/did#at-protocol-did-identifier-syntax
-
for case in vec![
+
for case in [
"did:method:val:two",
"did:m:v",
"did:method::::val",
···
#[test]
fn test_doc_exmples_invalid() {
// https://atproto.com/specs/did#at-protocol-did-identifier-syntax
-
for case in vec![
+
for case in [
"did:METHOD:val",
"did:m123:val",
"DID:method:val",