porting all github actions from bluesky-social/indigo to tangled CI

add missing valid rkey char (#1131)

by [the rkey
spec](https://atproto.com/specs/record-key#record-key-syntax):

> restricted to a subset of ASCII characters — the allowed characters
are alphanumeric (A-Za-z0-9), period, dash, underscore, colon, or tilde
(.-_:~)

tilde was missing from this check, which leads to at least [jetstream
becoming unhappy](https://github.com/bluesky-social/jetstream/issues/54)
over valid-but-uncommon rkeys.

this change aligns the check with the spec.

authored by bnewbold.net and committed by GitHub 6f0837c2 573ae927

Changed files
+3 -3
mst
+1 -1
mst/mst_test.go
··· 532 532 for i := 0; i < 256; i++ { 533 533 f.Add([]byte{byte(i)}) 534 534 } 535 - rx := regexp.MustCompile("^[a-zA-Z0-9_:.-]+$") 535 + rx := regexp.MustCompile("^[a-zA-Z0-9_:.~-]+$") 536 536 f.Fuzz(func(t *testing.T, in []byte) { 537 537 s := string(in) 538 538 if a, b := rx.MatchString(s), keyHasAllValidChars(s); a != b {
+2 -2
mst/mst_util.go
··· 197 197 } 198 198 199 199 // keyHasAllValidChars reports whether s matches 200 - // the regexp /^[a-zA-Z0-9_:.-]+$/ without using regexp, 200 + // the regexp /^[a-zA-Z0-9_:.~-]+$/ without using regexp, 201 201 // which is slower. 202 202 func keyHasAllValidChars(s string) bool { 203 203 if len(s) == 0 { ··· 211 211 continue 212 212 } 213 213 switch b { 214 - case '_', ':', '.', '-': 214 + case '_', ':', '.', '~', '-': 215 215 continue 216 216 default: 217 217 return false