fix(ci): Make CI happy
This commit is contained in:
parent
7f163658c9
commit
74a9dcaa5c
5 changed files with 38 additions and 23 deletions
5
.github/workflows/pr.yml
vendored
5
.github/workflows/pr.yml
vendored
|
|
@ -23,10 +23,13 @@ jobs:
|
||||||
uses: golangci/golangci-lint-action@v9
|
uses: golangci/golangci-lint-action@v9
|
||||||
with:
|
with:
|
||||||
version: v2.10.1
|
version: v2.10.1
|
||||||
|
args: --build-tags=goolm,stdjson
|
||||||
|
|
||||||
vuln_check:
|
vuln_check:
|
||||||
name: Security Check
|
name: Security Check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GOFLAGS: -tags=goolm,stdjson
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|
@ -59,4 +62,4 @@ jobs:
|
||||||
run: go generate ./...
|
run: go generate ./...
|
||||||
|
|
||||||
- name: Run go test
|
- name: Run go test
|
||||||
run: go test ./...
|
run: go test -tags goolm,stdjson ./...
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ builds:
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
tags:
|
tags:
|
||||||
|
- goolm
|
||||||
- stdjson
|
- stdjson
|
||||||
ldflags:
|
ldflags:
|
||||||
- -s -w
|
- -s -w
|
||||||
|
|
@ -57,6 +58,7 @@ builds:
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
tags:
|
tags:
|
||||||
|
- goolm
|
||||||
- stdjson
|
- stdjson
|
||||||
ldflags:
|
ldflags:
|
||||||
- -s -w
|
- -s -w
|
||||||
|
|
@ -95,6 +97,7 @@ builds:
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
tags:
|
tags:
|
||||||
|
- goolm
|
||||||
- stdjson
|
- stdjson
|
||||||
ldflags:
|
ldflags:
|
||||||
- -s -w
|
- -s -w
|
||||||
|
|
|
||||||
13
Makefile
13
Makefile
|
|
@ -17,7 +17,8 @@ LDFLAGS=-X $(CONFIG_PKG).Version=$(VERSION) -X $(CONFIG_PKG).GitCommit=$(GIT_COM
|
||||||
# Go variables
|
# Go variables
|
||||||
GO?=CGO_ENABLED=0 go
|
GO?=CGO_ENABLED=0 go
|
||||||
WEB_GO?=$(GO)
|
WEB_GO?=$(GO)
|
||||||
GOFLAGS?=-v -tags goolm,stdjson
|
GO_BUILD_TAGS?=goolm,stdjson
|
||||||
|
GOFLAGS?=-v -tags $(GO_BUILD_TAGS)
|
||||||
|
|
||||||
# Patch MIPS LE ELF e_flags (offset 36) for NaN2008-only kernels (e.g. Ingenic X2600).
|
# Patch MIPS LE ELF e_flags (offset 36) for NaN2008-only kernels (e.g. Ingenic X2600).
|
||||||
#
|
#
|
||||||
|
|
@ -221,13 +222,13 @@ clean:
|
||||||
|
|
||||||
## vet: Run go vet for static analysis
|
## vet: Run go vet for static analysis
|
||||||
vet: generate
|
vet: generate
|
||||||
@packages="$$(go list ./...)" && \
|
@packages="$$($(GO) list $(GOFLAGS) ./...)" && \
|
||||||
$(GO) vet $$(printf '%s\n' "$$packages" | grep -v '^github.com/sipeed/picoclaw/web/')
|
$(GO) vet $(GOFLAGS) $$(printf '%s\n' "$$packages" | grep -v '^github.com/sipeed/picoclaw/web/')
|
||||||
@cd web/backend && $(WEB_GO) vet ./...
|
@cd web/backend && $(WEB_GO) vet ./...
|
||||||
|
|
||||||
## test: Test Go code
|
## test: Test Go code
|
||||||
test: generate
|
test: generate
|
||||||
@$(GO) test $$(go list ./... | grep -v github.com/sipeed/picoclaw/web/)
|
@$(GO) test $(GOFLAGS) $$($(GO) list $(GOFLAGS) ./... | grep -v github.com/sipeed/picoclaw/web/)
|
||||||
@cd web && make test
|
@cd web && make test
|
||||||
|
|
||||||
## fmt: Format Go code
|
## fmt: Format Go code
|
||||||
|
|
@ -236,11 +237,11 @@ fmt:
|
||||||
|
|
||||||
## lint: Run linters
|
## lint: Run linters
|
||||||
lint:
|
lint:
|
||||||
@$(GOLANGCI_LINT) run
|
@CGO_ENABLED=0 $(GOLANGCI_LINT) run --build-tags $(GO_BUILD_TAGS)
|
||||||
|
|
||||||
## fix: Fix linting issues
|
## fix: Fix linting issues
|
||||||
fix:
|
fix:
|
||||||
@$(GOLANGCI_LINT) run --fix
|
@CGO_ENABLED=0 $(GOLANGCI_LINT) run --fix --build-tags $(GO_BUILD_TAGS)
|
||||||
|
|
||||||
## deps: Download dependencies
|
## deps: Download dependencies
|
||||||
deps:
|
deps:
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,11 @@ type MatrixChannel struct {
|
||||||
cryptoDbPath string
|
cryptoDbPath string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMatrixChannel(cfg config.MatrixConfig, messageBus *bus.MessageBus, cryptoDatabasePath string) (*MatrixChannel, error) {
|
func NewMatrixChannel(
|
||||||
|
cfg config.MatrixConfig,
|
||||||
|
messageBus *bus.MessageBus,
|
||||||
|
cryptoDatabasePath string,
|
||||||
|
) (*MatrixChannel, error) {
|
||||||
homeserver := strings.TrimSpace(cfg.Homeserver)
|
homeserver := strings.TrimSpace(cfg.Homeserver)
|
||||||
userID := strings.TrimSpace(cfg.UserID)
|
userID := strings.TrimSpace(cfg.UserID)
|
||||||
accessToken := strings.TrimSpace(cfg.AccessToken())
|
accessToken := strings.TrimSpace(cfg.AccessToken())
|
||||||
|
|
@ -253,9 +257,13 @@ func (c *MatrixChannel) Start(ctx context.Context) error {
|
||||||
// Initialize crypto helper if database and passphrase are configured
|
// Initialize crypto helper if database and passphrase are configured
|
||||||
if c.cryptoDbPath != "" && c.config.CryptoPassphrase != "" {
|
if c.cryptoDbPath != "" && c.config.CryptoPassphrase != "" {
|
||||||
if err := c.initCrypto(ctx); err != nil {
|
if err := c.initCrypto(ctx); err != nil {
|
||||||
logger.WarnCF("matrix", "Failed to initialize crypto, continuing without encryption support", map[string]any{
|
logger.WarnCF(
|
||||||
"error": err.Error(),
|
"matrix",
|
||||||
})
|
"Failed to initialize crypto, continuing without encryption support",
|
||||||
|
map[string]any{
|
||||||
|
"error": err.Error(),
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -345,10 +353,10 @@ func (c *MatrixChannel) initCrypto(ctx context.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.client.DeviceID == "" {
|
if c.client.DeviceID == "" {
|
||||||
resp, err := c.client.Whoami(ctx)
|
resp, whoamiErr := c.client.Whoami(ctx)
|
||||||
if err != nil {
|
if whoamiErr != nil {
|
||||||
_ = db.Close()
|
_ = db.Close()
|
||||||
return fmt.Errorf("get device ID via whoami: %w", err)
|
return fmt.Errorf("get device ID via whoami: %w", whoamiErr)
|
||||||
}
|
}
|
||||||
c.client.DeviceID = resp.DeviceID
|
c.client.DeviceID = resp.DeviceID
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -591,20 +591,20 @@ func (c *SlackConfig) SetAppToken(token string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type MatrixConfig struct {
|
type MatrixConfig struct {
|
||||||
Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_MATRIX_ENABLED"`
|
Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_MATRIX_ENABLED"`
|
||||||
Homeserver string `json:"homeserver" env:"PICOCLAW_CHANNELS_MATRIX_HOMESERVER"`
|
Homeserver string `json:"homeserver" env:"PICOCLAW_CHANNELS_MATRIX_HOMESERVER"`
|
||||||
UserID string `json:"user_id" env:"PICOCLAW_CHANNELS_MATRIX_USER_ID"`
|
UserID string `json:"user_id" env:"PICOCLAW_CHANNELS_MATRIX_USER_ID"`
|
||||||
accessToken string
|
accessToken string
|
||||||
DeviceID string `json:"device_id,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_DEVICE_ID"`
|
DeviceID string `json:"device_id,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_DEVICE_ID"`
|
||||||
JoinOnInvite bool `json:"join_on_invite" env:"PICOCLAW_CHANNELS_MATRIX_JOIN_ON_INVITE"`
|
JoinOnInvite bool `json:"join_on_invite" env:"PICOCLAW_CHANNELS_MATRIX_JOIN_ON_INVITE"`
|
||||||
MessageFormat string `json:"message_format,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_MESSAGE_FORMAT"`
|
MessageFormat string `json:"message_format,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_MESSAGE_FORMAT"`
|
||||||
AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_MATRIX_ALLOW_FROM"`
|
AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_MATRIX_ALLOW_FROM"`
|
||||||
GroupTrigger GroupTriggerConfig `json:"group_trigger,omitempty"`
|
GroupTrigger GroupTriggerConfig `json:"group_trigger,omitempty"`
|
||||||
Placeholder PlaceholderConfig `json:"placeholder,omitempty"`
|
Placeholder PlaceholderConfig `json:"placeholder,omitempty"`
|
||||||
ReasoningChannelID string `json:"reasoning_channel_id" env:"PICOCLAW_CHANNELS_MATRIX_REASONING_CHANNEL_ID"`
|
ReasoningChannelID string `json:"reasoning_channel_id" env:"PICOCLAW_CHANNELS_MATRIX_REASONING_CHANNEL_ID"`
|
||||||
secDirty bool
|
secDirty bool
|
||||||
CryptoDatabasePath string `json:"crypto_database_path,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_CRYPTO_DATABASE_PATH"`
|
CryptoDatabasePath string `json:"crypto_database_path,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_CRYPTO_DATABASE_PATH"`
|
||||||
CryptoPassphrase string `json:"crypto_passphrase,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_CRYPTO_PASSPHRASE"`
|
CryptoPassphrase string `json:"crypto_passphrase,omitempty" env:"PICOCLAW_CHANNELS_MATRIX_CRYPTO_PASSPHRASE"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// AccessToken returns the Matrix access token
|
// AccessToken returns the Matrix access token
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue