CI: start enforcing a subset of staticcheck

Whilst working on CUE, I've noticed a lot of static check messages in my editor. Would it be worth adding something like golangci-lint?
❯ go run honnef.co/go/tools/cmd/staticcheck@latest ./...
cmd/cue/cmd/add.go:176:8: cue.Build is deprecated: use [Context.BuildInstances]. The use of [Instance] is being phased out.  (SA1019)
cmd/cue/cmd/common.go:746:15: cue.Build is deprecated: use [Context.BuildInstances]. The use of [Instance] is being phased out.  (SA1019)
cmd/cue/cmd/common.go:802:10: cue.Merge is deprecated: do not use.  (SA1019)
cmd/cue/cmd/common.go:808:17: r.Build is deprecated: use [Context.BuildInstance]. The use of [Instance] is being phased out.  (SA1019)
cmd/cue/cmd/common.go:817:9: inst.Build is deprecated: use [Context.BuildInstance]  (SA1019)
cmd/cue/cmd/custom.go:66:14: tools.Lookup is deprecated: use [Value.LookupPath]  (SA1019)
cmd/cue/cmd/custom.go:89:7: tools.Lookup is deprecated: use [Value.LookupPath]  (SA1019)
cmd/cue/cmd/custom.go:96:32: tools.Lookup is deprecated: use [Value.LookupPath]  (SA1019)
cmd/cue/cmd/custom.go:116:3: the surrounding loop is unconditionally terminated (SA4004)
cmd/cue/cmd/custom.go:194:5: v.Lookup is deprecated: use [Value.LookupPath]. At some point before v1.0.0, this method will be removed to be reused eventually for looking up a selector.  (SA1019)
cmd/cue/cmd/custom.go:198:14: v.Lookup is deprecated: use [Value.LookupPath]. At some point before v1.0.0, this method will be removed to be reused eventually for looking up a selector.  (SA1019)
cmd/cue/cmd/custom.go:216:16: v.Lookup is deprecated: use [Value.LookupPath]. At some point before v1.0.0, this method will be removed to be reused eventually for looking up a selector.  (SA1019)
cmd/cue/cmd/custom.go:221:17: v.Lookup is deprecated: use [Value.LookupPath]. At some point before v1.0.0, this method will be removed to be reused eventually for looking up a selector.  (SA1019)
cmd/cue/cmd/get_go.go:304:9: types.NewSignature has been deprecated since Go 1.18: Use [NewSignatureType] instead which allows for type parameters.  (SA1019)
cmd/cue/cmd/modpublish.go:241:13: modzip.Create is deprecated: this will be removed in a future API iteration that reduces dependence on zip archives.  (SA1019)
cmd/cue/cmd/orphans.go:239:12: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
cue/build/import.go:107:11: empty branch (SA9003)
cue/build_test.go:259:7: p.AddFile is deprecated: use AddSyntax or wait for this to be renamed using a new signature.  (SA1019)
cue/format/import.go:28:6: func sortImports is unused (U1000)
cue/format/import.go:51:6: func setRelativePos is unused (U1000)
cue/format/import.go:63:6: func hasDoc is unused (U1000)
cue/format/import.go:72:6: func importPath is unused (U1000)
cue/format/import.go:80:6: func importName is unused (U1000)
cue/format/import.go:88:6: func importComment is unused (U1000)
cue/format/import.go:98:6: func collapse is unused (U1000)
cue/format/import.go:110:6: type posSpan is unused (U1000)
cue/format/import.go:115:6: func sortSpecs is unused (U1000)
cue/format/import.go:151:6: type byImportSpec is unused (U1000)
cue/format/import.go:153:23: func byImportSpec.Len is unused (U1000)
cue/format/import.go:154:23: func byImportSpec.Swap is unused (U1000)
cue/format/import.go:155:23: func byImportSpec.Less is unused (U1000)
cue/instance.go:168:23: func (*Instance).setError is unused (U1000)
cue/instance.go:173:23: func (*Instance).eval is unused (U1000)
cue/interpreter/wasm/call.go:78:2: should use 'return u == 1' instead of 'if u == 1 { return true }; return false' (S1008)
cue/interpreter/wasm/wasm_test.go:96:6: func copyWasmFiles is unused (U1000)
cue/interpreter/wasm/wasm_test.go:108:6: func copyFile is unused (U1000)
cue/interpreter/wasm/wasm_test.go:116:6: func check is unused (U1000)
cue/interpreter/wasm/wasm_test.go:129:6: func loadDir is unused (U1000)
cue/interpreter/wasm/wasm_test.go:135:6: func dirInstance is unused (U1000)
cue/interpreter/wasm/wasm_test.go:142:4: inst.AddFile is deprecated: use AddSyntax or wait for this to be renamed using a new signature.  (SA1019)
cue/interpreter/wasm/wasm_test.go:155:6: func loadFile is unused (U1000)
cue/interpreter/wasm/wasm_test.go:159:6: func must is unused (U1000)
cue/load/loader_common.go:175:3: redundant return statement (S1023)
cue/marshal.go:65:7: p.AddFile is deprecated: use AddSyntax or wait for this to be renamed using a new signature.  (SA1019)
cue/parser/parser.go:529:21: p.file.Base is deprecated: this method just returns the (deprecated) second argument passed to NewFile.  (SA1019)
cue/types.go:806:6: func hasDisjunction is unused (U1000)
cue/types.go:828:6: func stripNonDefaults is unused (U1000)
cue/types_test.go:3392:9: identical expressions on the left and right side of the '&&' operator (SA4000)
encoding/gocode/gocodec/codec.go:49:15: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/gocode/gocodec/codec_test.go:104:10: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/json/json.go:100:20: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/json/json.go:115:8: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/openapi/build.go:133:17: (*cue.Runtime)(r).Build is deprecated: use [Context.BuildInstance]. The use of [Instance] is being phased out.  (SA1019)
encoding/openapi/build.go:133:19: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/openapi/build.go:239:2: empty branch (SA9003)
encoding/openapi/build.go:421:17: v.Reference is deprecated: use [Value.ReferencePath]  (SA1019)
encoding/openapi/build.go:798:14: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/openapi/build.go:900:17: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/openapi/crd.go:116:11: v.Reference is deprecated: use [Value.ReferencePath]  (SA1019)
encoding/openapi/crd.go:131:18: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/openapi/crd.go:143:18: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/openapi/decode_test.go:60:10: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/openapi/decode_test.go:68:16: json.Decode is deprecated: use Extract and build using cue.Context.BuildExpr.  (SA1019)
encoding/openapi/decode_test.go:70:16: yaml.Decode is deprecated: use Extract and build the File with cue.Context.BuildFile.  (SA1019)
encoding/openapi/decode_test.go:101:17: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/openapi/openapi.go:151:6: i.IsDefinition is deprecated: use i.Selector().IsDefinition()  (SA1019)
encoding/openapi/openapi_test.go:274:14: cue.Build is deprecated: use [Context.BuildInstances]. The use of [Instance] is being phased out.  (SA1019)
encoding/openapi/openapi_test.go:313:8: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/openapi/openapi_test.go:314:15: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/openapi/openapi_test.go:332:8: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/openapi/openapi_test.go:333:15: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/jsonpb/decoder.go:128:9: schema.Template is deprecated: use [Value.LookupPath] in combination with using optional selectors.  (SA1019)
encoding/protobuf/jsonpb/decoder.go:175:14: schema.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/protobuf/jsonpb/decoder_test.go:39:7: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/protobuf/jsonpb/decoder_test.go:50:18: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/jsonpb/decoder_test.go:112:8: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/protobuf/jsonpb/decoder_test.go:113:15: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/jsonpb/encoder_test.go:35:7: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/protobuf/jsonpb/encoder_test.go:46:18: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/jsonpb/encoder_test.go:64:17: r.CompileFile is deprecated: use [Context.BuildFile]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/pbinternal/attribute.go:92:11: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/protobuf/pbinternal/attribute.go:119:11: v.Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/protobuf/textproto/decoder.go:169:12: i.Value().Elem is deprecated: use [Value.LookupPath] in combination with "AnyString" or "AnyIndex".  (SA1019)
encoding/protobuf/textproto/decoder_test.go:35:7: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/protobuf/textproto/decoder_test.go:49:18: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/textproto/encoder_test.go:33:7: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/protobuf/textproto/encoder_test.go:43:18: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
encoding/protobuf/util.go:78:14: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.  (SA1019)
encoding/yaml/yaml_test.go:101:8: cue.Runtime is deprecated: use [Context].  (SA1019)
encoding/yaml/yaml_test.go:131:14: r.Compile is deprecated: use [Context] with methods like [Context.CompileString] or [Context.CompileBytes]. The use of [Instance] is being phased out.  (SA1019)
internal/ci/checks/commit.go:54:10: error strings should not be capitalized (ST1005)
internal/core/adt/composite.go:565:2: empty branch (SA9003)
internal/core/adt/constraints.go:47:23: func (*nodeContext).insertListEllipsis is unused (U1000)
internal/core/adt/dev.go:77:24: func combinedFlags.ignore is unused (U1000)
internal/core/adt/disjunct2.go:584:6: func isPartialNode is unused (U1000)
internal/core/adt/disjunct2.go:585:2: should use 'return d.node.status == finalized' instead of 'if d.node.status == finalized { return true }; return false' (S1008)
internal/core/adt/disjunct2.go:741:3: empty branch (SA9003)
internal/core/adt/errors.go:132:6: func isIncomplete is unused (U1000)
internal/core/adt/eval.go:57:5: var structSentinel is unused (U1000)
internal/core/adt/eval.go:1546:2: field index is unused (U1000)
internal/core/adt/eval.go:2217:2: should use 'return len(n.exprs) < len(exprs)' instead of 'if len(n.exprs) < len(exprs) { return true }; return false' (S1008)
internal/core/adt/eval.go:2471:17: type assertion to the same type: m.Src already has type ast.Expr (S1040)
internal/core/adt/eval_test.go:124:4: empty branch (SA9003)
internal/core/adt/eval_test.go:235:2: should merge variable declaration with assignment on next line (S1021)
internal/core/adt/export_test.go:94:3: this value of ci is never used (SA4006)
internal/core/adt/fields.go:534:2: empty branch (SA9003)
internal/core/adt/fields.go:600:4: empty branch (SA9003)
internal/core/adt/overlay.go:226:3: should replace loop with d.disjunctions = append(d.disjunctions, n.disjunctions...) (S1011)
internal/core/adt/overlay.go:343:2: empty branch (SA9003)
internal/core/adt/overlay.go:362:4: empty branch (SA9003)
internal/core/adt/sched.go:112:23: func (*taskContext).newTask is unused (U1000)
internal/core/adt/sched.go:139:21: func schedState.done is unused (U1000)
internal/core/adt/sched.go:390:3: empty branch (SA9003)
internal/core/adt/sched.go:599:2: field blockStack is unused (U1000)
internal/core/adt/sched_test.go:186:3: field err is unused (U1000)
internal/core/adt/states.go:173:2: const leftOfMaxCoreCondition is unused (U1000)
internal/core/adt/states.go:175:2: const finalStateKnown is unused (U1000)
internal/core/adt/states.go:177:2: const preValidation is unused (U1000)
internal/core/adt/states.go:209:2: const scalarConjunct is unused (U1000)
internal/core/adt/tasks.go:193:6: func processFinalizeDisjunctions is unused (U1000)
internal/core/adt/unify.go:429:2: redundant return statement (S1023)
internal/core/adt/unify.go:459:2: empty branch (SA9003)
internal/core/compile/builtin.go:27:2: var stringParam is unused (U1000)
internal/core/compile/compile.go:126:20: func (*compiler).reset is unused (U1000)
internal/core/runtime/build.go:103:12: p.AddFile is deprecated: use AddSyntax or wait for this to be renamed using a new signature.  (SA1019)
internal/core/subsume/structural.go:21:20: func (*subsumer).subsumes is unused (U1000)
internal/core/subsume/structural.go:40:20: func (*subsumer).conjunct is unused (U1000)
internal/core/subsume/structural.go:44:20: func (*subsumer).c is unused (U1000)
internal/core/subsume/structural.go:48:6: func isBottomConjunct is unused (U1000)
internal/core/subsume/structural.go:53:20: func (*subsumer).node is unused (U1000)
internal/core/subsume/structural.go:60:20: func (*subsumer).structural is unused (U1000)
internal/core/subsume/structural.go:178:20: func (*subsumer).structLit is unused (U1000)
internal/core/subsume/structural.go:225:6: type collatedDecls is unused (U1000)
internal/core/subsume/structural.go:236:6: func newCollatedDecls is unused (U1000)
internal/core/subsume/structural.go:240:6: type field is unused (U1000)
internal/core/subsume/structural.go:245:25: func (*collatedDecls).collate is unused (U1000)
internal/core/subsume/vertex.go:435:6: identical expressions on the left and right side of the '||' operator (SA4000)
internal/diff/diff.go:113:13: v.Struct is deprecated: use [Value.Fields].  (SA1019)
internal/diff/diff.go:134:13: es.x.Struct is deprecated: use [Value.Fields].  (SA1019)
internal/diff/diff.go:147:13: es.y.Struct is deprecated: use [Value.Fields].  (SA1019)
internal/diff/diff.go:207:49: cue.FieldInfo is deprecated: only used by deprecated functions.  (SA1019)
internal/diff/diff.go:210:10: cue.FieldInfo is deprecated: only used by deprecated functions.  (SA1019)
internal/diff/diff.go:216:11: x.Struct is deprecated: use [Value.Fields].  (SA1019)
internal/diff/diff.go:217:11: y.Struct is deprecated: use [Value.Fields].  (SA1019)
internal/diff/diff.go:246:13: cue.FieldInfo is deprecated: only used by deprecated functions.  (SA1019)
internal/envflag/flag.go:89:5: error var InvalidError should have name of the form ErrFoo (ST1012)
internal/golangorgx/gopls/cache/methodsets/methodsets.go:139:3: empty branch (SA9003)
internal/golangorgx/gopls/cache/view.go:949:11: empty branch (SA9003)
internal/golangorgx/gopls/cache/view.go:1245:5: var modFlagRegexp is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:287:2: var internalMu is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:288:2: var internalConnections is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:696:22: func (*connection).semanticTokens is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:705:22: func (*connection).diagnoseFiles is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:735:19: func (*cmdFile).locationSpan is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:742:19: func (*cmdFile).rangeSpan is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:752:19: func (*cmdFile).offsetSpan is unused (U1000)
internal/golangorgx/gopls/cmd/cmd.go:769:6: func offsetPoint is unused (U1000)
internal/golangorgx/gopls/cmd/span.go:75:6: func sortSpans is unused (U1000)
internal/golangorgx/gopls/cmd/span.go:82:6: func compare is unused (U1000)
internal/golangorgx/gopls/cmd/span.go:95:6: func comparePoint is unused (U1000)
internal/golangorgx/gopls/cuelang/format.go:34:2: this value of ctx is never used (SA4006)
internal/golangorgx/gopls/debug/serve.go:311:20: func (*Instance).getView is unused (U1000)
internal/golangorgx/gopls/golang/format.go:105:6: type importFix is unused (U1000)
internal/golangorgx/gopls/golang/format.go:114:6: func allImportsFixes is unused (U1000)
internal/golangorgx/gopls/golang/format.go:129:6: func computeImportEdits is unused (U1000)
internal/golangorgx/gopls/golang/snapshot.go:105:6: type unit is unused (U1000)
internal/golangorgx/gopls/protocol/tsdocument_changes.go:41:14: error strings should not be capitalized (ST1005)
internal/golangorgx/gopls/server/code_action.go:14:6: func documentChanges is unused (U1000)
internal/golangorgx/gopls/server/diagnostics.go:452:3: assignment to nil map (SA5000)
internal/golangorgx/gopls/server/general.go:614:2: this value of ctx is never used (SA4006)
internal/golangorgx/gopls/server/server.go:111:2: field ongoingProfileMu is unused (U1000)
internal/golangorgx/gopls/server/server.go:112:2: field ongoingProfile is unused (U1000)
internal/golangorgx/gopls/server/server.go:158:2: this value of ctx is never used (SA4006)
internal/golangorgx/gopls/settings/settings.go:646:11: error strings should not be capitalized (ST1005)
internal/golangorgx/gopls/settings/settings.go:783:17: error strings should not end with punctuation or newlines (ST1005)
internal/golangorgx/gopls/test/integration/fake/editor.go:272:3: unnecessary nil check around range (S1031)
internal/golangorgx/telemetry/internal/upload/upload.go:57:2: empty branch (SA9003)
internal/golangorgx/tools/analysisinternal/extractdoc.go:98:14: error strings should not be capitalized (ST1005)
internal/golangorgx/tools/diff/lcs/old.go:191:21: func (*editGraph).bdone is unused (U1000)
internal/golangorgx/tools/diff/lcs/old.go:202:6: func backward is unused (U1000)
internal/golangorgx/tools/event/core/event.go:32:6: type eventLabelMap is unused (U1000)
internal/golangorgx/tools/event/label/label.go:105:11: reflect.StringHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.20: Use unsafe.String or unsafe.StringData instead.  (SA1019)
internal/golangorgx/tools/event/label/label.go:119:11: reflect.StringHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.20: Use unsafe.String or unsafe.StringData instead.  (SA1019)
internal/golangorgx/tools/gcimporter/gcimporter.go:262:6: func deref is unused (U1000)
internal/golangorgx/tools/gcimporter/iexport.go:326:2: field out is unused (U1000)
internal/golangorgx/tools/gcimporter/iimport.go:32:21: func (*intReader).int64 is unused (U1000)
internal/golangorgx/tools/gcimporter/unified_no.go:10:7: const unifiedIR is unused (U1000)
internal/golangorgx/tools/gcimporter/ureader_yes.go:563:65: types.NewSignature has been deprecated since Go 1.18: Use [NewSignatureType] instead which allows for type parameters.  (SA1019)
internal/golangorgx/tools/goroot/importcfg.go:60:5: this value of err is never used (SA4006)
internal/golangorgx/tools/goroot/importcfg.go:60:11: Errorf doesn't have side effects and its return value is ignored (SA4017)
internal/golangorgx/tools/imports/fix.go:18:2: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details.  (SA1019)
internal/golangorgx/tools/imports/fix.go:1264:2: field walked is unused (U1000)
internal/golangorgx/tools/jsonrpc2_v2/conn.go:360:11: empty branch (SA9003)
internal/golangorgx/tools/jsonrpc2_v2/conn.go:514:12: empty branch (SA9003)
internal/golangorgx/tools/jsonrpc2_v2/jsonrpc2.go:115:17: func (*async).isDone is unused (U1000)
internal/golangorgx/tools/jsonrpc2_v2/serve.go:168:10: empty branch (SA9003)
internal/golangorgx/tools/jsonrpc2_v2/serve.go:182:10: empty branch (SA9003)
internal/golangorgx/tools/jsonrpc2_v2/serve_go116.go:17:6: func isErrClosed is unused (U1000)
internal/golangorgx/tools/pkgbits/decoder.go:283:5: error var overflow should have name of the form errFoo (ST1012)
internal/golangorgx/tools/refactor/inline/inline.go:1357:26: type assertion to the same type: internalastutil.CloneNode(arg.expr) already has type ast.Expr (S1040)
internal/golangorgx/tools/refactor/inline/util.go:25:6: func clone is unused (U1000)
internal/mod/modload/tidy.go:712:2: should use 'return ctx.Err() == nil' instead of 'if ctx.Err() != nil { return false }; return true' (S1008)
internal/pkg/types.go:72:2: should use 'return ot&^adt.HasDynamic != 0' instead of 'if ot&^adt.HasDynamic != 0 { return true }; return false' (S1008)
internal/registrytest/registry.go:477:9: modzip.Create is deprecated: this will be removed in a future API iteration that reduces dependence on zip archives.  (SA1019)
internal/third_party/yaml/apic.go:52:6: func yaml_reader_read_handler is unused (U1000)
internal/third_party/yaml/apic.go:67:6: func yaml_parser_set_input_reader is unused (U1000)
internal/third_party/yaml/apic.go:76:6: func yaml_parser_set_encoding is unused (U1000)
internal/third_party/yaml/apic.go:84:6: func yaml_emitter_initialize is unused (U1000)
internal/third_party/yaml/apic.go:94:6: func yaml_emitter_delete is unused (U1000)
internal/third_party/yaml/apic.go:99:6: func yaml_string_write_handler is unused (U1000)
internal/third_party/yaml/apic.go:106:6: func yaml_writer_write_handler is unused (U1000)
internal/third_party/yaml/apic.go:112:6: func yaml_emitter_set_output_string is unused (U1000)
internal/third_party/yaml/apic.go:121:6: func yaml_emitter_set_output_writer is unused (U1000)
internal/third_party/yaml/apic.go:130:6: func yaml_emitter_set_encoding is unused (U1000)
internal/third_party/yaml/apic.go:138:6: func yaml_emitter_set_canonical is unused (U1000)
internal/third_party/yaml/apic.go:143:6: func yaml_emitter_set_indent is unused (U1000)
internal/third_party/yaml/apic.go:151:6: func yaml_emitter_set_width is unused (U1000)
internal/third_party/yaml/apic.go:159:6: func yaml_emitter_set_unicode is unused (U1000)
internal/third_party/yaml/apic.go:164:6: func yaml_emitter_set_break is unused (U1000)
internal/third_party/yaml/apic.go:255:6: func yaml_stream_start_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:263:6: func yaml_stream_end_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:270:6: func yaml_document_start_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:285:6: func yaml_document_end_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:317:6: func yaml_scalar_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:331:6: func yaml_sequence_start_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:343:6: func yaml_sequence_end_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:351:6: func yaml_mapping_start_event_initialize is unused (U1000)
internal/third_party/yaml/apic.go:362:6: func yaml_mapping_end_event_initialize is unused (U1000)
internal/third_party/yaml/decode.go:367:19: func (*decoder).ident is unused (U1000)
internal/third_party/yaml/decode.go:724:53: should omit comparison to bool constant, can be simplified to n.implicit (S1002)
internal/third_party/yaml/decode_test.go:18:5: var unmarshalIntTest is unused (U1000)
internal/third_party/yaml/decode_test.go:717:6: type inlineB is unused (U1000)
internal/third_party/yaml/decode_test.go:722:6: type inlineC is unused (U1000)
internal/third_party/yaml/decode_test.go:850:6: type errReader is unused (U1000)
internal/third_party/yaml/decode_test.go:852:18: func errReader.Read is unused (U1000)
internal/third_party/yaml/readerc.go:101:2: empty branch (SA9003)
internal/third_party/yaml/resolve.go:65:6: func longTag is unused (U1000)
internal/third_party/yaml/resolve.go:199:6: func encodeBase64 is unused (U1000)
internal/third_party/yaml/scannerc.go:485:6: func cache is unused (U1000)
internal/third_party/yaml/scannerc.go:573:6: func yaml_parser_scan is unused (U1000)
internal/third_party/yaml/scannerc.go:619:6: func trace is unused (U1000)
internal/third_party/yaml/scannerc.go:1201:9: empty branch (SA9003)
internal/third_party/yaml/scannerc.go:1676:2: should use 'return yaml_parser_scan_version_directive_number(parser, start_mark, minor)' instead of 'if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { return false }; return true' (S1008)
internal/third_party/yaml/yaml.go:25:2: field strict is unused (U1000)
internal/third_party/yaml/yamlh.go:32:6: type yaml_break_t is unused (U1000)
internal/third_party/yaml/yamlh.go:37:2: const yaml_ANY_BREAK is unused (U1000)
internal/third_party/yaml/yamlh.go:39:2: const yaml_CR_BREAK is unused (U1000)
internal/third_party/yaml/yamlh.go:40:2: const yaml_LN_BREAK is unused (U1000)
internal/third_party/yaml/yamlh.go:41:2: const yaml_CRLN_BREAK is unused (U1000)
internal/third_party/yaml/yamlh.go:76:2: const yaml_ANY_SCALAR_STYLE is unused (U1000)
internal/third_party/yaml/yamlh.go:85:6: type yaml_sequence_style_t is unused (U1000)
internal/third_party/yaml/yamlh.go:90:2: const yaml_ANY_SEQUENCE_STYLE is unused (U1000)
internal/third_party/yaml/yamlh.go:96:6: type yaml_mapping_style_t is unused (U1000)
internal/third_party/yaml/yamlh.go:101:2: const yaml_ANY_MAPPING_STYLE is unused (U1000)
internal/third_party/yaml/yamlh.go:302:24: func (*yaml_event_t).scalar_style is unused (U1000)
internal/third_party/yaml/yamlh.go:303:24: func (*yaml_event_t).sequence_style is unused (U1000)
internal/third_party/yaml/yamlh.go:304:24: func (*yaml_event_t).mapping_style is unused (U1000)
internal/third_party/yaml/yamlh.go:323:2: const yaml_DEFAULT_SCALAR_TAG is unused (U1000)
internal/third_party/yaml/yamlh.go:324:2: const yaml_DEFAULT_SEQUENCE_TAG is unused (U1000)
internal/third_party/yaml/yamlh.go:325:2: const yaml_DEFAULT_MAPPING_TAG is unused (U1000)
internal/third_party/yaml/yamlh.go:328:6: type yaml_node_type_t is unused (U1000)
internal/third_party/yaml/yamlh.go:333:2: const yaml_NO_NODE is unused (U1000)
internal/third_party/yaml/yamlh.go:335:2: const yaml_SCALAR_NODE is unused (U1000)
internal/third_party/yaml/yamlh.go:336:2: const yaml_SEQUENCE_NODE is unused (U1000)
internal/third_party/yaml/yamlh.go:337:2: const yaml_MAPPING_NODE is unused (U1000)
internal/third_party/yaml/yamlh.go:341:6: type yaml_node_item_t is unused (U1000)
internal/third_party/yaml/yamlh.go:344:6: type yaml_node_pair_t is unused (U1000)
internal/third_party/yaml/yamlh.go:350:6: type yaml_node_t is unused (U1000)
internal/third_party/yaml/yamlh.go:384:6: type yaml_document_t is unused (U1000)
internal/third_party/yaml/yamlh.go:517:6: type yaml_alias_data_t is unused (U1000)
internal/third_party/yaml/yamlh.go:555:2: field input_reader is unused (U1000)
internal/third_party/yaml/yamlh.go:608:2: field aliases is unused (U1000)
internal/third_party/yaml/yamlh.go:610:2: field document is unused (U1000)
internal/third_party/yaml/yamlh.go:630:6: type yaml_write_handler_t is unused (U1000)
internal/third_party/yaml/yamlh.go:632:6: type yaml_emitter_state_t is unused (U1000)
internal/third_party/yaml/yamlh.go:637:2: const yaml_EMIT_STREAM_START_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:639:2: const yaml_EMIT_FIRST_DOCUMENT_START_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:640:2: const yaml_EMIT_DOCUMENT_START_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:641:2: const yaml_EMIT_DOCUMENT_CONTENT_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:642:2: const yaml_EMIT_DOCUMENT_END_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:643:2: const yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:644:2: const yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:645:2: const yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:646:2: const yaml_EMIT_FLOW_MAPPING_KEY_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:647:2: const yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:648:2: const yaml_EMIT_FLOW_MAPPING_VALUE_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:649:2: const yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:650:2: const yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:651:2: const yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:652:2: const yaml_EMIT_BLOCK_MAPPING_KEY_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:653:2: const yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:654:2: const yaml_EMIT_BLOCK_MAPPING_VALUE_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:655:2: const yaml_EMIT_END_STATE is unused (U1000)
internal/third_party/yaml/yamlh.go:662:6: type yaml_emitter_t is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:12:2: const output_buffer_size is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:16:2: const output_raw_buffer_size is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:19:2: const initial_stack_size is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:20:2: const initial_queue_size is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:21:2: const initial_string_size is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:58:6: func is_ascii is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:63:6: func is_printable is unused (U1000)
internal/third_party/yaml/yamlprivateh.go:128:6: func is_spacez is unused (U1000)
internal/value/value.go:30:40: cue.Runtime is deprecated: use [Context].  (SA1019)
internal/value/value.go:31:11: cue.Runtime is deprecated: use [Context].  (SA1019)
internal/value/value.go:34:28: cue.Runtime is deprecated: use [Context].  (SA1019)
internal/value/value.go:35:27: cue.Runtime is deprecated: use [Context].  (SA1019)
internal/vcs/vcs_test.go:140:2: this value of err is never used (SA4006)
mod/modregistry/client_test.go:368:9: modzip.Create is deprecated: this will be removed in a future API iteration that reduces dependence on zip archives.  (SA1019)
pkg/encoding/json/manual.go:100:8: cue.Runtime is deprecated: use [Context].  (SA1019)
exit status 1

We indeed want to move towards making staticcheck happy. We already enforce vet, but we don't enforce staticcheck yet, due to all the deprecation warnings (https://github.com/cue-lang/cue/issues/2480).
We are moving in that direction, it just won't happen overnight due to the amount of work required. I think we can continue using #2480 as a tracking issue for that work. I've given it a slightly better title too.

Thanks for pointing out that other issue 😄 I did look, and think I even read it but didn't feel they were entirely the same. Are there plans to enforce static check in CI? Would #2480 also cover the other static check suggestions like unused functions and code simplifications? It would be great if gofumpt could be involved in this somewhere too.

I agree, linting stuff in third_party/ is probably not worthwhile. It should be fairly easy to exclude that. Even filtering out third_party, golangorgx and deprecated, there are around 80 suggestions.
❯ go run honnef.co/go/tools/cmd/staticcheck@latest ./...
cmd/cue/cmd/custom.go:116:3: the surrounding loop is unconditionally terminated (SA4004)
cue/build/import.go:107:11: empty branch (SA9003)
cue/format/import.go:28:6: func sortImports is unused (U1000)
cue/format/import.go:51:6: func setRelativePos is unused (U1000)
cue/format/import.go:63:6: func hasDoc is unused (U1000)
cue/format/import.go:72:6: func importPath is unused (U1000)
cue/format/import.go:80:6: func importName is unused (U1000)
cue/format/import.go:88:6: func importComment is unused (U1000)
cue/format/import.go:98:6: func collapse is unused (U1000)
cue/format/import.go:110:6: type posSpan is unused (U1000)
cue/format/import.go:115:6: func sortSpecs is unused (U1000)
cue/format/import.go:151:6: type byImportSpec is unused (U1000)
cue/format/import.go:153:23: func byImportSpec.Len is unused (U1000)
cue/format/import.go:154:23: func byImportSpec.Swap is unused (U1000)
cue/format/import.go:155:23: func byImportSpec.Less is unused (U1000)
cue/instance.go:168:23: func (*Instance).setError is unused (U1000)
cue/instance.go:173:23: func (*Instance).eval is unused (U1000)
cue/interpreter/wasm/call.go:78:2: should use 'return u == 1' instead of 'if u == 1 { return true }; return false' (S1008)
cue/interpreter/wasm/wasm_test.go:96:6: func copyWasmFiles is unused (U1000)
cue/interpreter/wasm/wasm_test.go:108:6: func copyFile is unused (U1000)
cue/interpreter/wasm/wasm_test.go:116:6: func check is unused (U1000)
cue/interpreter/wasm/wasm_test.go:129:6: func loadDir is unused (U1000)
cue/interpreter/wasm/wasm_test.go:135:6: func dirInstance is unused (U1000)
cue/interpreter/wasm/wasm_test.go:155:6: func loadFile is unused (U1000)
cue/interpreter/wasm/wasm_test.go:159:6: func must is unused (U1000)
cue/load/loader_common.go:175:3: redundant return statement (S1023)
cue/types.go:806:6: func hasDisjunction is unused (U1000)
cue/types.go:828:6: func stripNonDefaults is unused (U1000)
cue/types_test.go:3392:9: identical expressions on the left and right side of the '&&' operator (SA4000)
encoding/openapi/build.go:239:2: empty branch (SA9003)
internal/ci/checks/commit.go:54:10: error strings should not be capitalized (ST1005)
internal/core/adt/composite.go:565:2: empty branch (SA9003)
internal/core/adt/constraints.go:47:23: func (*nodeContext).insertListEllipsis is unused (U1000)
internal/core/adt/dev.go:77:24: func combinedFlags.ignore is unused (U1000)
internal/core/adt/disjunct2.go:584:6: func isPartialNode is unused (U1000)
internal/core/adt/disjunct2.go:585:2: should use 'return d.node.status == finalized' instead of 'if d.node.status == finalized { return true }; return false' (S1008)
internal/core/adt/disjunct2.go:741:3: empty branch (SA9003)
internal/core/adt/errors.go:132:6: func isIncomplete is unused (U1000)
internal/core/adt/eval.go:57:5: var structSentinel is unused (U1000)
internal/core/adt/eval.go:1546:2: field index is unused (U1000)
internal/core/adt/eval.go:2217:2: should use 'return len(n.exprs) < len(exprs)' instead of 'if len(n.exprs) < len(exprs) { return true }; return false' (S1008)
internal/core/adt/eval.go:2471:17: type assertion to the same type: m.Src already has type ast.Expr (S1040)
internal/core/adt/eval_test.go:124:4: empty branch (SA9003)
internal/core/adt/eval_test.go:235:2: should merge variable declaration with assignment on next line (S1021)
internal/core/adt/export_test.go:94:3: this value of ci is never used (SA4006)
internal/core/adt/fields.go:534:2: empty branch (SA9003)
internal/core/adt/fields.go:600:4: empty branch (SA9003)
internal/core/adt/overlay.go:226:3: should replace loop with d.disjunctions = append(d.disjunctions, n.disjunctions...) (S1011)
internal/core/adt/overlay.go:343:2: empty branch (SA9003)
internal/core/adt/overlay.go:362:4: empty branch (SA9003)
internal/core/adt/sched.go:112:23: func (*taskContext).newTask is unused (U1000)
internal/core/adt/sched.go:139:21: func schedState.done is unused (U1000)
internal/core/adt/sched.go:390:3: empty branch (SA9003)
internal/core/adt/sched.go:599:2: field blockStack is unused (U1000)
internal/core/adt/sched_test.go:186:3: field err is unused (U1000)
internal/core/adt/states.go:173:2: const leftOfMaxCoreCondition is unused (U1000)
internal/core/adt/states.go:175:2: const finalStateKnown is unused (U1000)
internal/core/adt/states.go:177:2: const preValidation is unused (U1000)
internal/core/adt/states.go:209:2: const scalarConjunct is unused (U1000)
internal/core/adt/tasks.go:193:6: func processFinalizeDisjunctions is unused (U1000)
internal/core/adt/unify.go:429:2: redundant return statement (S1023)
internal/core/adt/unify.go:459:2: empty branch (SA9003)
internal/core/compile/builtin.go:27:2: var stringParam is unused (U1000)
internal/core/compile/compile.go:126:20: func (*compiler).reset is unused (U1000)
internal/core/subsume/structural.go:21:20: func (*subsumer).subsumes is unused (U1000)
internal/core/subsume/structural.go:40:20: func (*subsumer).conjunct is unused (U1000)
internal/core/subsume/structural.go:44:20: func (*subsumer).c is unused (U1000)
internal/core/subsume/structural.go:48:6: func isBottomConjunct is unused (U1000)
internal/core/subsume/structural.go:53:20: func (*subsumer).node is unused (U1000)
internal/core/subsume/structural.go:60:20: func (*subsumer).structural is unused (U1000)
internal/core/subsume/structural.go:178:20: func (*subsumer).structLit is unused (U1000)
internal/core/subsume/structural.go:225:6: type collatedDecls is unused (U1000)
internal/core/subsume/structural.go:236:6: func newCollatedDecls is unused (U1000)
internal/core/subsume/structural.go:240:6: type field is unused (U1000)
internal/core/subsume/structural.go:245:25: func (*collatedDecls).collate is unused (U1000)
internal/core/subsume/vertex.go:435:6: identical expressions on the left and right side of the '||' operator (SA4000)
internal/envflag/flag.go:89:5: error var InvalidError should have name of the form ErrFoo (ST1012)
internal/mod/modload/tidy.go:712:2: should use 'return ctx.Err() == nil' instead of 'if ctx.Err() != nil { return false }; return true' (S1008)
internal/pkg/types.go:72:2: should use 'return ot&^adt.HasDynamic != 0' instead of 'if ot&^adt.HasDynamic != 0 { return true }; return false' (S1008)
internal/vcs/vcs_test.go:140:2: this value of err is never used (SA4006)
exit status 1

Would it make sense for this to be the tracking issue for:

Enforcing staticcheck in CI (maybe via golangci-lint, but with a simple config as a lot of the linters are quite noisy and unhelpful)
Enforcing gofumpt in CI
Fixing staticcheck issues

Sure. Let's use it just to enforce a subset of staticcheck (minus SA1019 for the deprecation warnings, as that's https://github.com/cue-lang/cue/issues/2480, and minus third_party and golangorgx). I don't think it's worthwhile to use golangci-lint for this purpose - staticcheck on its own is basically what we want on top of vet and gofmt or gofumpt.
I don't think we should aim to enforce gofumpt just yet. We need to enforce gofmt and cue fmt first. Enforcing gofumpt is also a sweeping change that will likely cause plenty of merge conflicts, so I'd want to coordinate with everyone if we wanted to attempt it.

internal/third_party is now gone since https://review.gerrithub.io/c/cue-lang/cue/+/1199541, so that's one chunk we no longer need to worry about.

Fantastic! I'm happy to apply some static check fixes if you like.

Sounds good. Just give me five minutes as I'm about to merge some I did this morning.

Fixing a few more in this stack: https://review.gerrithub.io/c/cue-lang/cue/+/1202602

I'm fixing this in https://review.gerrithub.io/c/cue-lang/cue/+/1204982 by setting up a config which disables the checks that we don't pass yet. Then we can gradually appease and re-enable each of those checks. Deprecations (https://github.com/cue-lang/cue/issues/2480) will be the most work by far, but some of the others are just one or two warnings.


[GIT PULL] Liburing/prep_helpers: Add Open helpers

Adds the direct and regular open prep helper as two small wrapper functions around the openat prep helper.
Also adds the links for them in the man pages.
Would close #1100

git request-pull output:
The following changes since commit 206650ff72b6ea4d76921f9c91ebfffd9902e6a0:

  test/fixed-hugepage: skip test on -ENOMEM (2024-09-27 10:27:10 -0600)

are available in the Git repository at:

  https://github.com/CPestka/liburing open_helper

for you to fetch changes up to 48ca808a97556e1d1e25d6b5f924c7881ca1f367:

  man/prep_open: Add man entry for io_uring_prep_open(_direct) (2024-09-29 13:27:55 +0200)

----------------------------------------------------------------
CPestka (2):
      liburing/sqe_helper: Add helper to prep sqe for an open
      man/prep_open: Add man entry for io_uring_prep_open(_direct)

 man/io_uring_prep_open.3        |  1 +
 man/io_uring_prep_open_direct.3 |  1 +
 man/io_uring_prep_openat.3      | 16 ++++++++++++++++
 src/include/liburing.h          | 14 ++++++++++++++
 src/liburing-ffi.map            |  2 ++
 5 files changed, 34 insertions(+)
 create mode 120000 man/io_uring_prep_open.3
 create mode 120000 man/io_uring_prep_open_direct.3

Click to show/hide pull request guidelines
Pull Request Guidelines

To make everyone easily filter pull request from the email
notification, use [GIT PULL] as a prefix in your PR title.

[GIT PULL] Your Pull Request Title

Follow the commit message format rules below.
Follow the Linux kernel coding style (see: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst).

Commit message format rules:

The first line is title (don't be more than 72 chars if possible).
Then an empty line.
Then a description (may be omitted for truly trivial changes).
Then an empty line again (if it has a description).
Then a Signed-off-by tag with your real name and email. For example:

Signed-off-by: Foo Bar<EMAIL_ADDRESS>
The description should be word-wrapped at 72 chars. Some things should
not be word-wrapped. They may be some kind of quoted text - long
compiler error messages, oops reports, Link, etc. (things that have a
certain specific format).
Note that all of this goes in the commit message, not in the pull
request text. The pull request text should introduce what this pull
request does, and each commit message should explain the rationale for
why that particular change was made. The git tree is canonical source
of truth, not github.
Each patch should do one thing, and one thing only. If you find yourself
writing an explanation for why a patch is fixing multiple issues, that's
a good indication that the change should be split into separate patches.
If the commit is a fix for an issue, add a Fixes tag with the issue
URL.
Don't use GitHub anonymous email like this as the commit author:
<EMAIL_ADDRESS>
Use a real email address!
Commit message example:
src/queue: don't flush SQ ring for new wait interface

If we have IORING_FEAT_EXT_ARG, then timeouts are done through the
syscall instead of by posting an internal timeout. This was done
to be both more efficient, but also to enable multi-threaded use
the wait side. If we touch the SQ state by flushing it, that isn't
safe without synchronization.

Fixes: https://github.com/axboe/liburing/issues/402
Signed-off-by: Jens Axboe<EMAIL_ADDRESS>

By submitting this pull request, I acknowledge that:

I have followed the above pull request guidelines.
I have the rights to submit this work under the same license.
I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information).

Makes sense to add, thanks.


Backport HBASE-26579 Set storage policy of recovered edits when wal storage type is configured

https://issues.apache.org/jira/browse/HBASE-26678

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
4m 42s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ branch-1 Compile Tests _

+1 :green_heart:
mvninstall
10m 36s
branch-1 passed

+1 :green_heart:
compile
0m 44s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
compile
0m 49s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
checkstyle
1m 43s
branch-1 passed

+1 :green_heart:
shadedjars
3m 15s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 48s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
0m 42s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+0 :ok:
spotbugs
3m  9s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
3m  7s
branch-1 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m  7s
the patch passed

+1 :green_heart:
compile
0m 45s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javac
0m 45s
the patch passed

+1 :green_heart:
compile
0m 48s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
javac
0m 48s
the patch passed

+1 :green_heart:
checkstyle
1m 31s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
3m  4s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
5m 10s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2.

+1 :green_heart:
javadoc
0m 32s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
0m 41s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
findbugs
2m 59s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
132m 14s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 41s
The patch does not generate ASF License warnings.

180m 55s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4037/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4037

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux ef48a0add413 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-4037/out/precommit/personality/provided.sh

git revision
branch-1 / 598b453a41

Default Java
Azul Systems, Inc.-1.7.0_272-b10

Multi-JDK versions
/usr/lib/jvm/zulu-8-amd64:Azul Systems, Inc.-1.8.0_262-b19 /usr/lib/jvm/zulu-7-amd64:Azul Systems, Inc.-1.7.0_272-b10

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4037/1/testReport/

Max. process+thread count
4746 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4037/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=3.0.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


oss avoid listBuckets permission in bucket check

fix https://github.com/apache/dolphinscheduler/issues/14413

approval ci run

hi @zhangkuantian can you run mvn spotless:apply format your code to pass CI?

hi， @zhongjiajie I have already run mvn spotless:apply to format the code. Could you please help me review it?

Codecov Report

Merging #14414 (b129643) into dev (5250b25) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

:exclamation: Current head b129643 differs from pull request most recent head 20171aa. Consider uploading reports for the commit 20171aa to get more accurate results

@@             Coverage Diff              @@
##                dev   #14414      +/-   ##
============================================
- Coverage     38.52%   38.51%   -0.01%
  Complexity     4556     4556
============================================
  Files          1237     1237
  Lines         43507    43499       -8
  Branches       4813     4815       +2
============================================
- Hits          16761    16755       -6
- Misses        24889    24890       +1
+ Partials       1857     1854       -3

Impacted Files
Coverage Δ

...heduler/common/log/remote/OssRemoteLogHandler.java
0.00% <0.00%> (ø)

...heduler/plugin/storage/oss/OssStorageOperator.java
35.74% <0.00%> (+0.56%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

we will wait for @rickchengx to see whether he have an addition option here

Hi @zhangkuantian, welcome to join contributors community 🎉 .
If you want to continue your contribute but could not find issues, maybe you could start in https://github.com/apache/dolphinscheduler/contribute
or just search our issue list https://github.com/apache/dolphinscheduler/issues, Looking for some thing you interesting.


Quickstart links are broken

Any example here takes me to a 404 URL in GitHub

Hi @andreroggeri — thanks for flagging this! Sorry for the broken links. We're in the middle of a reorganization for our 1.0 release next week, and the examples linked from the quickstart now live under examples/workflow. We will have this resolved shortly 🙂


Feat: Add prettier & eslint configs

Is your feature request related to a problem? Please describe.
Not necessarily, this is aimed at providing consistency and enforcing patterns in the codebase regarding code style.
Describe the solution you'd like
Add a .prettierrc file, possibly a .prettierignore file and and an .eslintrc file
Describe alternatives you've considered
NIL
Additional context
NIL
I'll like to work on this.

Don't know if I should ask, but do you want me to add this as part of hackertoberfest?

Also, I recently merged a PR of some refactoring which may or may not affect this issue if you've already started or the other styleguide issue you're assigned to

Don't know if I should ask, but do you want me to add this as part of hackertoberfest?

Yeah that'll be great 😃

Also, I recently merged a PR of some refactoring which may or may not affect this issue if you've already started or the other styleguide issue you're assigned to

Copy that. I'll take that into consideration


refactor: clean up

@nud3l
Yes, I noticed this UX bug.
I think there's something conflicting regarding code-splitting + transition + routing.
For now, I blocked that transition and continue to fix it progressively. (TODO for now)


 And clicking on that upload image area doesn't open the local file upload screen.

cc @DirtyF
Steps to reproduce
Go to demo-gatsby, head to a block post. Hit the 'media icon' to see the style issue and try to click to upload from the filesystem.

How do you make that icon appear to upload image within the Wysiwym editor?

@kendallstrautman you beat me to it, I'm not sure when this was introduced.
@PCianes Did you follow up our docs? https://tinacms.org/docs/ui/inline-editing/inline-wysiwyg#interface

yes of course, and testing in tina-starter-grande I have not known how to implement it, so I was wondering if it was something not yet implemented
For example I'm not sure if the component InlineWysiwyg is injected from 'react-tinacms-editor' or 'react-tinacms-inline', and if it is necesary to work with 'react-markdown' or not

This also happens on tinacms.org, it's a regression as this was working before

Note: Drag and Drop works on tinacms.org but not on the Gatsby demo.
P.S: @PCianes Please go over to https://community.tinacms.org/ to ask about the implementation, we're discussing  a more specific issue here 😊

thanks, i did it

@PCianes Interesting the upload modal looks fine on Grande.


Is it possible to know if the device is connected?

Just wondering if its possible to know using this library if the device is connected to AirPlay. If not, is it possible to add this functionality?

For now it is not possible, but I will look into it.

This is something that I am looking for as well. Because right now my player stops (using video_player instead of the one from this package) but I would like to show custom UI when connected to AirPlay.
@MrJai any idea when we could expect this?

https://developer.apple.com/documentation/avfoundation/avplayer/1388982-externalplaybackactive
Maybe this property can be used?

Some solution for this

Is there any progress on this functionality?


Avoid using submodule for kcapi-sys

It will be easier to maintain (and build/checkout) kcapi to just used the cargo/crates mechanism directly without a "pseudo vendoring" approach since kcapi-sys is already published on crates.io.
If you want, you could also use a cargo workspace and have the kcapi and kcapi-sys crates in the same repo. However, you will want to follow directions on merging unrelated git repos.
https://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories

If you want, you could also use a cargo workspace and have the kcapi and kcapi-sys crates in the same repo.

This is actually how I've seen it done on other repos:

https://github.com/parallaxsecond/rust-cryptoki/
https://github.com/parallaxsecond/rust-tss-esapi/

The only minor issue is that the vendored feature still pulls libkcapi and module somehow solves this.


should have api docs

we should have API docs for this at https://docs.swiftnio.io

CC @tomerd

done

https://github.com/apple/swift-nio/pull/1483


Made the grid better visible

Motivation
closes #62
The grid was barely visible, this should improve that.
What was changed/added
Added additional tiles for the background.
Expanded the background and put it on it's own z layer to avoid collision with foreground objects.
Testing

Additional Information
This is not implemented as requested. The request would requires making the grid individually flexible in color to adjust to the background, this is tedious and means the grid would have to change every time something about the background is changed. If there was a different intention, I can adjust the changes.

I have attempted a fix. I have simple place an additional grid using the same texture. This should fix the problem of making the grid bigger.


Wifi logic problem

The wifi try connect on boot if fail the board go offline until an admin card passes which restarts the board and makes another connection test

fixed


[Feature Request]: Design and add Contributors Page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I want to Design and add Contributors Page which will have cards with user image and their username
Use Case
As this is a opensource project this page will enhance the user effect of this repo
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

Its already there, you can work on other issues @komal-agarwal5


Enhancement: disable option should be applicable to child level action in ActionGetResponse

Currently disabled option can be applied to the top level of ActionGetResponse which dictates the behavior of all the actions/mini-blink  related to it

hey, it's better to raise this issue in specification repository https://github.com/solana-developers/solana-actions or on solana forum https://forum.solana.com/


Tour with scrolling subtitles

Scroll bar with narration text above the choices row.

Narration doesn't appear first time after launching the app

Was due to async tour loading


[Feature] Support quick connection when the panel is folded

Motivation
When the MQTT broker is actively disconnected, the panel will not expand. At this time, you cannot see the connection button and you cannot quickly connect.
Detailed design
Add a CONNECT button in the top bar when the collapsed panel is not expanded.
Alternatives
Support Context menu, select Quick Connect button
More detail (optional)

Finished on https://github.com/emqx/MQTTX/releases/tag/v1.5.2


Make Temporary Warning Messages More Alerting

Is your feature request related to a problem? Please describe.
I just had completed a batch conversion of a decently large number of images and noticed that the pop-up message near the bottom said "(X) Image(s) Didn't Convert: Show" right about the time it disappeared. I thought it was the usual success message and was prompting me to show the results and I was going to ignore it like usual.
Describe the solution you'd like
A change in either the text or the banner behind it to be more alerting when the message is notifying the user about an error. It could be a change in color, for instance (orange, red, etc.)
Describe alternatives you've considered
I guess I could change the setting "Time to Take Action" to a higher number and just swipe away messages I know are good. But, having a more alerting error message helps interrupt any muscle memory or habits that could ignore important information
Additional context
Since this was a large-ish conversion batch and it was like 1 image that didn't convert, I will have a hard time manually checking (eyeballing) which one it is.
That's one of the situations I'm hoping this could avoid.

I agree with you about giving a clue that this is a warning rather than the usual success message.
That said, it wouldn't have helped you in this case to identify the missed media, because the "show" action would still show the successfully converted media.

Ah. Thanks for the clarification.


uuid-ossp optional

If you use any managed postgres cluster where you cannot modify the extensions from SQL, you need to create the extension manually before connecting to the DB.
when I did that, I receive an error while trying to start a docker edgedb instance:
edb.server.pgcon.errors.BackendError: extension "uuid-ossp" already exists
ERROR: Could not complete instance bootstrap
exited with code 1

any chance to update CREATE EXTENSION "uuid-ossp" WITH SCHEMA edgedbext to use if not exists?
starting EdgeDB server 3.2+99ce519, built on 2023-07-21T19:07Z from revision b7dc55395 (2023-07-21T01:09Z)

Are you able to create extensions in a specific Postgres schema or is it some predefined schema?


Declare audit profile in recipes

I would like to have a way to have different teams declare what runs in the audit cookbook without bothering each other.
For example, let's say I have three teams: operations, application, and security.
operations wants to run the ops-profile, and logging-profile
application wants to run the application-up-profile
security wants to run cis-profile
Right now there isn't an easy way for these three teams to define that they want to run their profile without affecting the other teams.
This becomes even more problematic when considering that some teams want portions of their infrastructure to run different profiles.
For example:
operations wants to run logging-profile on nodes that have the logging recipe working, but the competitor-logging-profile on nodes that have the competitor's logging recipe running.
So these groups need fine-grained control over when the profile is included.
To solve this problem I suggest adding a library method to the audit cookbook:
audit_profile 'mycorp/myproduct_profile'

The audit_profile method would add the given profile to the list, preserving the existing list. That way anyone who wanted to could add to the list but wouldn't harm the list. You would end up getting the aggregate of all your run lists' things.
I'm happy to add a PR for this if you agree with the approach.

@trevorghess updated this comment per our discussion.

Another way of looking at this is that it's an include_recipe for profiles

@mhedgpeth one way to accomplish this is with some conditional statements based on inspecting the run_list of the node and/or other Ohai based attributes.
You can have a recipe drop off either a full blown Ohai node.json object on the filesystem for inspec to read like this or just a decomposed json file with only the elements necessary for making decisions (like the node's roles, or run_list).
Then, in your meta profile, you could make the decisions on which profiles/controls to include like this

Closing this for a different idea that I want to investigate with @jeremymv2


Support different fault injection policies with a single listener single port

Title: Support different fault injection policies with a single listener single port
Description:
We have tested this scenario:

only 1 listener with only 1 port number
route config to 2 backend services, with weighted lb setting, e.g. 50% to service1, 50% to service2
then we want to set different fault injection settings to different backend services, e.g. 10s delay to service1, 1s delay to service2
The result is:
when weighted lb is on, fault injection will fail.

I'm wondering if other settings can support this scenario, thanks!

@rshriram


fix: Save artist details correctly when creating an artwork

This PR resolves ONYX-188
Description
Save artist details correctly when creating an artwork.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 1ad32a161e3a2aed37e83e8b95cd5f7cbf7fcac1


How do you get the count for action impressions?

The blurb for impressionist says that '[it] can log page impressions (technically action impressions)', however, as far as I can see, the only way to get impressions_count is through a model instance. However, I wish to count the impressions on the index action, so it will not be possible to associate it with an instance of a model. Is there any way to do this? (One of the examples includes :index as an impressionist action, so I guess there's something I'm missing...?)

This belongs in the README somewhere. Shouldn't have to search the issue tracker for this answer.


🐛 BUG: Document is missing info on how to access env in SolidStart?

Which Cloudflare product(s) does this pertain to?
Pages
What version(s) of the tool(s) are you using?
3.47.1
What version of Node are you using?
21.5.0
What operating system and version are you using?
Doesn't matter
Describe the Bug
Documentation refers to createServerData$ to access env (which includes D1 bindings, among other things). createServerData$ has been removed. What do I use to access env?
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

UPDATE: I found it in apiEvent.nativeEvent.context.cloudflare.env. The docs should be updated, would have saved me a few hours...

Hi @transbitch 🙂
Thanks a lot for the issue 🙏
It seems like our SolidStart guide is very outdated... I've opened a PR to update the guide: https://github.com/cloudflare/cloudflare-docs/pull/14221
The PR amends the outdated info and removes the section regarding how to access bindings, as you said, bindings can still be accessed via nativeEvent.context.cloudflare.env but I am not sure if that's the "proper" way to access them... or even if there is a "proper" way... (either way this it's unlikely to work in dev mode any time soon 😓)
The PR is tentatively removing the section until we figure this one out.... or maybe it should just inform users to use nativeEvent although I am not completely sure if that's always the proper/viable way of doing so (maybe we need to do a quick investigation....), I'll check with the team and keep you updated


I got this error,my sacred==0.7.2 same as your requirements.txt

Traceback (most recent call last):
File "src/main.py", line 21, in
ex = Experiment("pymarl", save_git_info=False)
TypeError: init() got an unexpected keyword argument 'save_git_info'

It seems pymarl may not be installed properly. Please check it first, referring to https://github.com/oxwhirl/pymarl.


Takes care of some issues with prepared statements

See #272

Coverage increased (+0.1%) to 52.89% when pulling d055cd81de7d58c10e55b583ff0b3a78d9854988 on MattPerron:272 into 3a5262daea7b788a31948363ce27ee8ee38b9b29 on cmu-db:master.

Coverage increased (+0.003%) to 52.89% when pulling 3c8e7916b11f095ddbfa700fb7a62dcbcae5293f on MattPerron:272 into 1fca476e4108eb65d96cac52751f1ce5aac3da91 on cmu-db:master.


GetObjectByRef duplicate method

The method GetObjectByRef is duplicated in dc.openapi.common.Utils and in Grongier.OpenApi.DefinitionV3.
change the code to keep only implementation.

Done with this commit.
Will be included in version 1.0.4.


Read response Message from server on send

According to the remote protocol specification for the sound mixer Behringer X32 here the server creates a response when sending a message.
I tried to read the response and have it as a return parameter of the send function.

I think this PR can be closed because:

It's over 3 years old and thus out of date with the current state of master.

It makes a breaking change to the signature of client.Send.

I think having the client.Send function also receive after sending is not the correct behavior. The behavior @loffa described sounds specific to a particular use case and might be better served in a more general way. Perhaps there could be a separate SendAndReceive method?

Hey, great idea.
I will create a new PR with a separated function for SendAndReceive instead. Have actually been waiting for some action in this Lib to get my integration with the mixer working.


Rework native compilation

Simply testing this out to see if it compiles on the latest desktop machines with CI. Needs much more testing in the following regards:

How it will function as an exported library for others to consume

Will need to play around with consuming a -SNAPSHOT from another project on another machine

How a final product would function on different operating systems and older versions.

I do not understand why this is failing on linux... My local environment is based off 22.04 LTS (same as ubuntu-latest) and test failure output is not helpful.

So, including the amalgamations in the .def file will work for iOS it seems. Unfortunately, the build is 8M. Will need to pre-build using external/native/task.sh like originally had, then use -include-binary option when configuring cinterop.
Also need to investigate the possibility of including a shared lib via -include-binary, which would allow enabling linux and macos such that they too can be pre-built and included in the resulting .klib


[WIP] Adding a JOSS paper

Here is a link to the latest paper draft
This adds the paper.md document required by JOSS for submission.
There are still a couple of points to finish up before it's ready to go:

[ ] Release v0.1 of BinderHub
[ ] Confirm author list (I just used the list in team-compass + the grant)
[ ] Include ORCID information for all authors
[ ] Flesh out and confirm summary
[ ] Announce this to the listserv per the Jupyter submission docs

More information is here: https://github.com/jupyterhub/binderhub/issues/421
ORCID checklist:

[x] Tim Head
[ ] Jessica Forde
[x] Brian Granger
[x] Chris Holdgraf
[x] M Pacer
[x] Yuvi Panda
[x] Fernando Perez
[x] Min Regan Kelley
[x] Carol Willing

https://orcid.org/0000-0002-8055-2870 is mine!

My ORCID is 0000-0002-6680-2941.

I am https://orcid.org/0000-0003-0931-3698

ok, some small comments pushed per @willingc , @ellisonbg , and @betatim ...thanks for the input!
Whole team: Please LMK what you think, mention if you'd like to see more edits, or take an editing pass of your own! (just ping this PR before you start editing so others know not to work on it during that time)
pinging @jzf2101 and @fperez : what's your ORCID?

Two notes:

Unless somebody protests, I'm going to delete all the comments that only list their ORCID number - we've got that in the PR now and I don't want the issue to get too cluttered.
If somebody would like to take a pass at the language, that'd be useful. We can re-use some of it for the scipy 2018 submission so having it nailed down sooner than later would be helpful

Hi all, thanks to everyone working on this. I wanted to clarify my comments
about the "many different workflows" language. I do think it is important
for us to describe binder in a way that is inclusive to different usage
cases other than Jupyter notebooks. However the original language was a bit
to abstract to the point that I don't think the reader would understand the
connection between "many different workflows" and the actual reality of how
binder is used in practice. One way for us to be more specific would be to
add language about the focus being on "interactive computing workflows".
While binder could be used to deploy non-interactive computing systems, I
would say that is the one thing that ties the main practical applications
together. Then we could give examples of the types of interactive computing
systems binder works with so far and list Jupyter, RStudio, nteract, etc..
Thoughts?
On Tue, Feb 6, 2018 at 11:29 AM, Chris Holdgraf<EMAIL_ADDRESS>wrote:

Two notes:

Unless somebody protests, I'm going to delete all the comments that
only list their ORCID number - we've got that in the PR now and I don't
want the issue to get too cluttered.
If somebody would like to take a pass at the language, that'd be
useful. We can re-use some of it for the scipy 2018 submission so having it
nailed down sooner than later would be helpful

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/428#issuecomment-363537455,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0FMvSJzFQHT1KITrPRRDSIIdjmt3ks5tSKgXgaJpZM4RxgOR
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

hey @ellisonbg - I edited the paragraph a couple days back to try and be more specific about use-cases. take a look and LMKWYT
https://github.com/jupyterhub/binderhub/pull/428/files#diff-fb6416b20e925ad59e9f77c28b957d88R58

I just realized that a much more efficient way to iterate on this text is to edit collaboratively on a hackmd prior to including it in this PR. I have removed paper.md from this PR, and suggest we all keep iterating at the hackmd at this link. I've also updated the top-level comment to reflect this.

@ellisonbg I also took a spin at including your comments about use-cases in the hackmd (see above comment for context)

Sounds good, I will have a look after midterms tomorrow!
On Wed, Feb 7, 2018 at 12:12 PM, Chris Holdgraf<EMAIL_ADDRESS>wrote:

@ellisonbg https://github.com/ellisonbg I also took a spin at including
your comments about use-cases in the hackmd (see above comment for context)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/428#issuecomment-363895643,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0Pe8IEF5Hli3GkQaG-SeiB-xBlRBks5tSgO-gaJpZM4RxgOR
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Does hackmd allow comments?
On Wed, Feb 7, 2018 at 2:59 PM, Brian Granger<EMAIL_ADDRESS>wrote:

Sounds good, I will have a look after midterms tomorrow!
On Wed, Feb 7, 2018 at 12:12 PM, Chris Holdgraf<EMAIL_ADDRESS>wrote:

@ellisonbg https://github.com/ellisonbg I also took a spin at
including your comments about use-cases in the hackmd (see above comment
for context)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/428#issuecomment-363895643,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0Pe8IEF5Hli3GkQaG-SeiB-xBlRBks5tSgO-gaJpZM4RxgOR
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

not that I know of, but feel free to just put `[BG]:  or something like that...whatever works for you.
(for longer papers or artifacts I agree this could become clunky...not sure what's the best worfklow in that case)

I don't see the paper?

@jzf2101 see https://github.com/jupyterhub/binderhub/pull/428#issuecomment-363894236

Hi all - just a note that v0.1 of BinderHub is now live: https://github.com/jupyterhub/binderhub/releases/tag/0.1.0
we originally planned on making a JOSS paper when this happened. However maybe we want to re-visit since v0.1 is a purely "maintenance release" that we don't want to advertise much.
Two questions:

Do we still want to publish a JOSS paper?
Do we want to wait until v0.2?

I think we should at least wait until v0.2?

Closing this as this hasn't received any attention for about a year. If interest is rekindled we can re-open this or start a new PR.

yeah I agree, I have been leaving this open in the hope that we might one day do it, but I don't have the bandwidth to push it forward so I'm +1 on closing :-/


IndexSelecter scaling issue when using DateScale

There is an issue with the IndexSelector when used with DateScale. The datetime seen in the callback doesn't match the point in time where the mouse is hovering.
In the IndexSelector example I get The selected date is ['2006-11-14T02:13:42.656000'] when the mouse is hovering over the first of January.
import pandas as pd
import numpy as np

symbol = 'Security 1'
symbol2 = 'Security 2'

price_data = pd.DataFrame(np.cumsum(np.random.randn(150, 2).dot([[0.5, 0.4], [0.4, 1.0]]), axis=0) + 100,
                          columns=['Security 1', 'Security 2'],
                          index=pd.date_range(start='01-01-2007', periods=150))

dates_actual = price_data.index.values
prices = price_data[symbol].values

from bqplot import DateScale, LinearScale, Axis, Lines, Scatter, Bars, Hist, Figure
from bqplot.interacts import (
    FastIntervalSelector, IndexSelector, BrushIntervalSelector,
    BrushSelector, MultiSelector, LassoSelector, PanZoom, HandDraw
)
from traitlets import link

from ipywidgets import ToggleButtons, VBox, HTML

## First we define a Figure
dt_x_fast = DateScale()
lin_y = LinearScale()

x_ax = Axis(label='Index', scale=dt_x_fast)
x_ay = Axis(label=(symbol + ' Price'), scale=lin_y, orientation='vertical')
lc = Lines(x=dates_actual, y=prices, scales={'x': dt_x_fast, 'y': lin_y}, colors=['orange'])
lc_2 = Lines(x=dates_actual[50:], y=prices[50:] + 2, scales={'x': dt_x_fast, 'y': lin_y}, colors=['blue'])

db_index = HTML(value='[]')

## Now we try a selector made to select all the y-values associated with a single x-value
index_sel = IndexSelector(scale=dt_x_fast, marks=[lc, lc_2])

## Now, we define a function that will be called when the selectors are interacted with
def index_change_callback(change):
    db_index.value = 'The selected date is ' + str(change.new)

index_sel.observe(index_change_callback, names=['selected'])

fig_index_sel = Figure(marks=[lc, lc_2], axes=[x_ax, x_ay], title='Index Selector Example',
                       interaction=index_sel)
display(VBox([db_index, fig_index_sel]))
display(x_ax,x_ay)

This issue is likely fixed by either
fix: no timezone jump on PanZoom actions #969
or
fix: DateScale doesn't apply browser timezone for ticks anymore #968

Closing as fixed by @joders in #968.


Include test name in the test execution and aggregate reports.

Determine if it's possible to include the actual test name in the test execution and test execution aggregate reports.
If so (and, it should be):

[ ] Add to both report objects.
[ ] Expose in the UI.

Wouldn't the name for the test exeuction and the aggregate report be the same modulo the test exeuction should have the iteration number?

I'm looking here for the test name as in the 'DisplayName' attribute on the junit test if set, otherwise the test's function name.

I just want them rendered in both reports, so that's why I said to have the attribute on both.

This is so someone reading the HTML report knows which code ran

Gotcha! I just want to make sure you don't want "Filibuster Generated Test #1"  for isntance. Rn i am grabbing the parent of the test execution and grabbing their name, which should be the name of the test

There is probably a way to pull the attribute, if it's defined, and add it to the configuration object in the FilibusterTestExtension.  If the display name attribute isn't set, it might take a bit of reflection or something else to figure out the test name but it should be possible because junit uses this information.

Eventually, we're gonna do other stuff with this in the analysis to determine redundant tests, but for now, let's just display it in the report.

Gotcha

This was done, I think.


Added IncludeOpenAPIAnalyzers flag to the produced NuGet package

Hi Rico.
In ASP.NET Core we've added a feature to the WebSDK to enable OpenAPI analyzers when the IncludeOpenAPIAnalyzers flag is present. This change adds that flag to the NSwag.AspNetCore project, so that as soon as that NuGet package is referenced from an ASP.NET Core project, the API Analyzer is enabled.
/cc @pranavkm
Addresses https://github.com/aspnet/AspNetCore/issues/8418

/cc @dougbu

Thanks @dougbu. I'm closing this PR, as yours now includes the flag.


chuangchengheng.adoc: Add link to collate files.

Pull Request Test Coverage Report for Build 226

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.19%

Totals

Change from base Build 225:
0.0%

Covered Lines:
1873

Relevant Lines:
2100

💛  - Coveralls


Code questions corrections and suggestions.

getDailyVol():
line 2 df0 = df0[df0 > 0] does not return first day's rows
df0 = df0[df0 >= 0] worked for me

Forming dollar bars every 1000000 is very low. It is normal that duplicate indexes appear (different tick on same millisecond). drop_duplicates() in dollar bars is ok for the needs of the example. In real world that means lost ticks. Increasing the volume of money per candle worked for me.

getEvents() first is filtering trgt by tEvents and then by minRet.
But further filtering by side dates is problematic for me as those indexes do not appear within trgt indexes and I get
raise KeyError(f"None of [{key}] are in the [{axis_name}]")
KeyError: "None of [DatetimeIndex(['2022-10-16 19:53:55.033000', '2022-10-16 20:03:10.045000',\n               '2022-10-16 21:50:47.110000', '2022-10-16 22:06:17.726000'],\n              dtype='datetime64[ns]', freq=None)] are in the [index]"
An alternative is needed as it is statistically rare same events happening at the same time.
Maybe parallel filtration instead of inline.

applyPtSlOnT1() line 3
if ptSl[0] > 0:
ptSl is set as [1, 1] but within function appears with dimensions [[1, 1], [1, 1]]
so the above indexing is raising
TypeError: '>' not supported between instances of 'list' and 'int'

Please forgive my ignorance, maybe I am wrong. I really appreciate the fact that I have this repository to work with and I need to thank everyone who put the effort to create it. Those are problems I face trying to run the exercises and this is my way to somehow help. Some of my questions or solutions may be naïve, so please correct me.


Multiple scenarios files?

I need to validate both XRechnung 2.0 and XRechnung 2.1.1 files. If I install the updated validation rules, version 2.0 is no longer supported and vice versa.
Is there a way to run the validator using two scenarios files at the same time?
I tried repeating the -s flag, but the second one is simply ignored.

This feature is not yet released yet, but available in master and not quality assured yet. I can not say when we will release a new version. There is no actual development going on at the moment, since there is no new feature request, and this feature was not prioritized.
@rkottmann any plans on this?

Is there a recommended workaround to adress this issue? Two ideas come to my mind:
Is it legitimate to change the CustomizationID (ubl format) to contain the currently supported version number? E.g. I have a XRechnung in with this CustomizationID: "urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0". If I change the last character to "1", the validator will accept that file again.
Or would it be a better approach to distribute multiple scenario files, read the CustomizationID out and then use the scenario file with the version corresponding to the XRechnung currently being processed?
In my current situation I will either have to implement one of those approaches or my management will require me to remove the validator and "just look for the fields we need for what we want to do", which is effectively writing my own validator, which sounds like a bad idea.
Any help is much appreciated.

Hi,
we manage this problem by changing the scenarios.xml i.e. for UBL Invoice in the following way to accept versions 2.0 and 2.1:
<match>exists(/invoice:Invoice[ cbc:CustomizationID/text() = 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0' or cbc:CustomizationID/text() = 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.1']) </match>

and for the other scenarios accordingly. This adaption is easy and fast to do and to test. And has worked well last year with version 1.2 and 2.0.

Hi, thank you for the fast response.
I tried your solution with a  tag for the versions 2.0 - 2.2. I tested it with this test file from the test-suite repository and it works fine.

And just to clarify: it's not a workaround. It's a design concept of the validator. Most people just consider the xrechnung configuration as something official and do not want to modify it. But it's not. It's just a reference/base implementation for the latest rules. You can adapth this to your needs (my personal opinion - I'm not invovled in xrechnung configuration development)
Thanks @msccip for pointing out. We had several direct feature requests for supporting multiple scenario files, that the obvious solution did not come into my mind when I answered the feauture request 😒
Nevertheless, the next major version will support multiple scenario files. But thats only API / CLI sugar. Internally it's just a merge of the configurations. Order of scenarios (and files) will be important as well as a  good "match" configuration for each scenario.
That being being sayd, I would not assume, that running a validator with configurations for xrechnung vX and vY will run fine without some tweaks to configurations unless the XRechnung team explicitly supports this by defining a version specific match.

There is support for multiple scenario files now. Scenarios are run in order of occurence, so it's up to the user to configure the scenarios carefully
Fixed in main.

There is support for multiple scenario files now. Scenarios are run in order of occurence, so it's up to the user to configure the scenarios carefully
Fixed in main.

How do I have to open the validator now in daemon mode? Just pass a comma seperated list to the '-s' parameter?


Weave Installation Failing

Release 1.8.0 and 1.8.1
With the shut down of weave, the old instructions for installing weave during k8s bring-up no longer work.
OLD:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')&env.WEAVE_MTU=1500"
NEW:
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s-1.11.yaml

Hi @jblakley,
Thank you for pointing this out. I have updated the documentation accordingly.
Note that we are working on updates to support the latest k8s release version and will be validating the full installation procedure shortly. We will include any additional installation fixes.
Thanks & regards!

@dilallkx Thanks for the quick fix! Hope you all are well!

@jblakley Keeping busy :) Thanks again for reporting the issue!


Verifying ID Tokens With msal-node

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description
Both the API and the documentation  on verifying client ID tokens means that anyone who wants to do so in Node.js must implement it themselves.  I have just gone through the process of doing so, and would greatly prefer if it were a solution that Microsoft maintained and supports, as I have no interest in staying up to date on security nuances of token ID flows. Is there an existing way to do this within msal-node that I'm missing, or if not I'm happy to contribute what I have built and iterate it as necessary to make y'all happy with it.
Note: I see that there is a passport strategy for doing this, which is great, but I do not use passport, and perhaps it would be simplest to pull it into msal-node, and then have the passport strategy import it?
Thanks!

We are currently designing node middleware and this work may take a quarter to be in code. We will consider this request and see if we can provide some options. cc @pkanher617

@bezi Thanks for opening this! I am working on adding this to msal-node, but as @sameerag said above, it may take some time. I will try to see if I can add this feature before we release an updated version of the passport library.

Thanks for the follow-up!

Tagging with the new node-validation library in works, cc @jo-arroyo

Ability to validate id tokens will be in the new Node Token Validation library, closing.

Is there any indication please as to when the new library is targeted to be available for production use? (I've found the work in progess at https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/node-token-validation )


environment.yml not working

I am setting stuff up on a new computer and the environment.yml file didn't work for me. I keep getting this error:
conda env create -f environment.yml

Solving environment: failed

ResolvePackageNotFound:
  - libffi==3.3=hb1e8313_2
  - sqlite==3.33.0=hffcf06c_0
  - certifi==2020.11.8=py39hecd8cb5_0
  - libedit==3.1.20191231=h1de35cc_1
  - xz==5.2.5=h1de35cc_0
  - python==3.9.0=h88f2d9e_2
  - readline==8.0=h1de35cc_0
  - ncurses==6.2=h0a44026_1
  - tk==8.6.10=hb0a8c7a_0
  - zlib==1.2.11=h1de35cc_3
  - openssl==1.1.1h=haf1e3a3_0
  - ca-certificates==2020.10.14=0
  - setuptools==50.3.1=py39hecd8cb5_1
  - libcxx==10.0.0=1
  - pip==20.2.4=py39hecd8cb5_0

Assuming #368 fixes this.


Allow reports to be downloaded as strings

I've made a few changes to the download reports API, to allow the user to download the report either into a file or as a string.
The only breaking change is in the download_page() method of OnenoteRequest.
My use cases for this change :
In a file

As a string

I definitely see what your trying to do here and being able to get the text, stream, or bytes is important but im not sure it makes the most sense to include it in the logic for downloading a file. It would probably fit better if download requests were also passed to the IntoResponse struct and then we can offer multiple ways of getting the file or file content. Let me look at this a bit more and ill get back to you.

You're right, that would be better.
I can take a look but it might be a bit too complex for me at the moment. I can help with the alternative methods once the first one is implemented.


Missing testnet config files. Downloading online files doesn't help. Please comment.

Having a problem running the default setup for cardano-db-sync. testnet.yaml is missing so I used
shelley-qa-testnet.yaml
PGPASSFILE=config/pgpass-testnet db-sync-node/bin/cardano-db-sync
--config ./config/shelley-qa-testnet.yaml
--socket-path ../cardano-node/state-node-testnet/node.socket
--state-dir ledger-state/testnet
--schema-dir schema/
File below referes to indented files
shelley-qa-testnet.yaml
-qshelley_qa-config.json
--shelley_qa-byron-genesis.json
--shelley_qa-shelley-genesis.json
shelley_qa-byron-genesis.json - Should protocolMagic be 3?
Line 61 - , "protocolConsts": { "k": 36, "protocolMagic": 3 }
shelley_qa-shelley-genesis.json - Should networkMagic be<PHONE_NUMBER>???
Line 45 - "networkMagic": 3,
Changing these numbers generates hash mismatch error. I am guessing that it is the hash reference from qshelley_qa-config.json below.
"ByronGenesisHash": "9325495d3ac7554d4bfaf2392cc3c74676d5add873d6ef8862d7562e660940bf",
"ShelleyGenesisHash": "85d1783750753deaa6560158eb85fcb30078ea32a36e12dd8af39168bc053d09",
How do I regenerate the hash for these files once I've changed "protocolMagic" and "networkMagic"? Am I even doing the right thing?
Why are the config files missing and the downloadable ones not configured right? Is anyone using Cardano for anything?

Am I missing something? Where is everyone?

You raised this on Saturday and Monday was a public holiday where I live. You will usually not get immediate responses, especially not on weekend and public holidays.
If you are trying to set these in db-sync you are doing it the wrong way. You seem to be so deep down some rabbit hole that I cannot even figure out what you are trying to do.
First question is why are you trying to run the "shelley-qa" network?

First thank you for your reply.
What is the shelly-qa network? It it not mentioned on this page https://github.com/input-output-hk/cardano-db-sync/blob/master/doc/building-running.md. I am trying to connect to the testnet.
For the node. testnet-node-local uses this config. So I am assuming /nix/store/rzbxsb0dnya58pwp1j1fnypsn8rn5s6z-config-0.json
xec /nix/store/yja7bx8xyyv15nch148bcilygh9sabyp-cardano-node-exe-cardano-node-1.26.1/bin/cardano-node run --config /nix/store/rzbxsb0dnya58pwp1j1fnypsn8rn5s6z-config-0.json --database-path state-node-testnet/db-testnet --topology /nix/store/dpajyi2vaychwps1x7d20c2ddls4kf62-topology.yaml --host-addr <IP_ADDRESS> --port 3001 --socket-path state-node-testnet/node.socket      +RTS -N2 -A16m -qg -qb --disable-delayed-os-memory-return -RTS $@

I was trying to use shelly-qa network because in the example --config config/testnet-config.yaml does not exist. I tried to use shelly  and also tried to use /nix/store/rzbxsb0dnya58pwp1j1fnypsn8rn5s6z-config-0.json.

This is what fixed it all in the end for anyone else having the problem. Thanks Priyank on Telegram.
https://hydra.iohk.io/build/5821110/download/1/index.html
Used that config file and within it pointed it to the node config file used by testnet-node-local.

Thank you too erikd.

I am running into the same problem. I downloaded the config (renamed to db-sync-testnet-config.yml) from here for the testnet and i try to pass its path int the docker compose file like this:
version: "3.5"

services:
  postgres:
    image: postgres:11.5-alpine
    environment:
      - POSTGRES_LOGGING=true
      - POSTGRES_DB_FILE=/run/secrets/postgres_db
      - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
      - POSTGRES_USER_FILE=/run/secrets/postgres_user
    secrets:
      - postgres_password
      - postgres_user
      - postgres_db
    volumes:
      - postgres:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

  cardano-node:
    image: inputoutput/cardano-node:1.26.2
    volumes:
      - node-db:/data/db
      - node-ipc:/node-ipc
      - ./node-config:/node-config
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    command: [
      "run",
      "--topology /node-config/testnet/testnet-topology.json",
      "--config /node-config/testnet/testnet-config.json",
      "--socket-path /node-ipc/node.socket",
      "--database-path /data/db"
    ]
  cardano-db-sync:
    image: inputoutput/cardano-db-sync:9.0.0
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
    depends_on:
      - cardano-node
      - postgres
    secrets:
      - postgres_password
      - postgres_user
      - postgres_db
    volumes:
      - db-sync-data:/var/lib/cdbsync
      - node-ipc:/node-ipc
      - state-dir:/state-dir
      - ./node-config:/node-config
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    command: [
        "--config /node-config/testnet/db-sync-testnet-config.yml",
        "--socket-path /node-ipc/node.socket",
        "--state-dir /state-dir"
    ]
secrets:
  postgres_db:
    file: ./cardano-db-sync/config/secrets/postgres_db
  postgres_password:
    file: ./cardano-db-sync/config/secrets/postgres_password
  postgres_user:
    file: ./cardano-db-sync/config/secrets/postgres_user
volumes:
  db-sync-data:
  postgres:
  node-db:
  node-ipc:
  node-config:
  state-dir:

but when i run it cardano-db-sync exits with the following error:
cardano-db-sync_1  | /run/secrets
cardano-db-sync_1  | Generating PGPASS file
postgres_1         | syncing data to disk ...
cardano-db-sync_1  | Connecting to network specified in configuration.yaml
postgres_1         | WARNING: enabling "trust" authentication for local connections
cardano-db-sync_1  | cardano-db-sync: FatalError {fatalErrorMessage = "Cannot find the node configuration file at : /nix/store/j9zxdffwvxl3q4m5rfrk86ips92fxd3y-config-testnet.json"}

I wish there was an explicit documentation to help users bootstrap the testnet with docker. If i only knew how, I would contribute to the docs!
Thanks everybody for the support!

@erikd
testnet-config.yaml if still missing and I cannot find any working version that will work for the latest db-sync
If someone does have it, please, share a link or the content.

Ok. This issue is closed but I guess everyone having the problem and coming from Google will read this.
I fixed it by doing:
# Start at cardano-db-sync directory
# First we copy mainnet-config.yaml and make it testnet
cp config/mainnet-config.yaml config/testnet-config.yaml
sed -i 's/mainnet/testnet/g' config/testnet-config.yaml

# Then we go into cardano-node config files dir and download missing testnet-*.json files
cd ../cardano-node/configuration/cardano
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/testnet-config.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/testnet-alonzo-genesis.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/testnet-byron-genesis.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/testnet-shelley-genesis.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/testnet-topology.json

# Now go back to cardano-db-sync
cd -

# And run db-sync as per building-running instruction


Change --optimize to another word

I'd like to suggest changing the --optimize flag to another word so that we can use -o for the output path in the build tool just like browserify offers. Perhaps --production?

haha, but then --production would conflict with --port. We could totes have -o and -O flags for optimize and output respectively, you think? - or do you know of a better word?

there's also the option of adding the --enhance flag... https://www.youtube.com/watch?v=Vxq9yj2pVWk

Isn't the -d/--directory proposed in #57 the exact same thing as the new meaning of -o/--out? -d looks just fine to me, let's avoid more option renaming – API stability and documentation is more important than getting the perfect keywords in line imo.

yeah sounds good

sold


Long name is cut and I'm not able to display it

When the blame contains long name, it is not displayed whole.

In addition, it would be nice if I could copy the content of bubble hint or even the whole blame description.

Ah, interesting. The view is supposed to be resizeable but it seems that functionality has regressed. (Notice the cursor when you mouseover the right side of the blame view.)

A workaround for this bug is to disable Shadow DOM.

The root of this bug is that React and Shadow DOM seem to be incompatible at the moment. See https://github.com/facebook/react/pull/1877

+1 ran into this. thanks for reporting

Same issue, can't resize git blame panel
Atom Version 0.187.0 (0.187.0)

Not working for me either. Not sure if the React and Shadow DOM is still causing this issue?
Version 1.0.19

fixed in #115 would love for this to be draggable.


Question, booting Motor-OS on hardware?

Hi @lasiotus,
Is it possible to create a bootable .ISO script for x86_64 hardware?
I don't have much rust experience but I seen a post about creating the ISO.
It looks like grub-mkrescue -o os.iso isofiles can help create the ISO but I'd need more help with booting.
Thanks!

No, Motor OS won't boot on real hardware, it needs virtio devices and kvm. You should look into Redox or blog_os if you want a Rust-based OS that boots on real HW.

Moturus OS is designed to run in VMs.


Use golangci-lint's github action

What would you like to be added:
For the PRs we could make use of the golangci-lint's github action which is nicely integrated into the github UI
https://golangci-lint.run/usage/install#github-actions
For the release build at least we will probably still need to have the linter running as a pipeline step to make sure that no lint errors slip through
Why is this needed:

/assign


Remove reminiscence of Cloud 4

Somebody already deleted all jenkins jobs for Cloud 4, so it
makes sense to remove the remaining cruft as well. mkcloud is
kept in tact as we need it for 4->5 upgrade testing.

+1

+1

+1

+1


EraPointsJob: support fetching data for era 0

Currently, the EraPointsJob will always fail for era number zero, this PR fixes this.

Rebased on stagging.

fyi https://github.com/w3f/1k-validators-be/pull/2867

That does not change the fact that you might want to include the first era, e.g. when starting the backend on a new chain. So I think this fix is still necessary.


Refactoring in i18n.js #2

 #2
Added refactoring ( https://github.com/zulip/zulip/issues/9126 ) to i18n.js

zulip#1123