Fix error when closing logs (#2637) (#2640)

Previously, *all* log streams of the pipeline were closed everytime when
a workflow is done, if you have multiple workflows, streams will be
closed multiple times.

backport #2637
This commit is contained in:
qwerty287
2023-10-24 11:49:29 +02:00
committed by GitHub
parent 948a5b38c1
commit 4d1ddab129
3 changed files with 11 additions and 15 deletions

View File

@@ -339,13 +339,12 @@ func setupSignatureKeys(_store store.Store) (crypto.PrivateKey, crypto.PublicKey
} else if err != nil {
log.Fatal().Err(err).Msgf("Failed to load private key")
return nil, nil
} else {
privKeyStr, err := hex.DecodeString(privKey)
if err != nil {
log.Fatal().Err(err).Msgf("Failed to decode private key")
return nil, nil
}
privKey := ed25519.PrivateKey(privKeyStr)
return privKey, privKey.Public()
}
privKeyStr, err := hex.DecodeString(privKey)
if err != nil {
log.Fatal().Err(err).Msgf("Failed to decode private key")
return nil, nil
}
priv := ed25519.PrivateKey(privKeyStr)
return priv, priv.Public()
}

View File

@@ -290,11 +290,9 @@ func (s *RPC) Done(c context.Context, id string, state rpc.State) error {
// make sure writes to pubsub are non blocking (https://github.com/woodpecker-ci/woodpecker/blob/c919f32e0b6432a95e1a6d3d0ad662f591adf73f/server/logging/log.go#L9)
go func() {
for _, wf := range currentPipeline.Workflows {
for _, step := range wf.Children {
if err := s.logger.Close(c, step.ID); err != nil {
logger.Error().Err(err).Msgf("done: cannot close log stream for step %d", step.ID)
}
for _, step := range workflow.Children {
if err := s.logger.Close(c, step.ID); err != nil {
logger.Error().Err(err).Msgf("done: cannot close log stream for step %d", step.ID)
}
}
}()

View File

@@ -67,7 +67,6 @@ func (b builder) serviceBuilder(keyType string) (model.EncryptionServiceBuilder,
return newAES(b.ctx, b.store), nil
} else if keyType == keyTypeNone {
return &noEncryptionBuilder{}, nil
} else {
return nil, fmt.Errorf(errMessageTemplateUnsupportedKeyType, keyType)
}
return nil, fmt.Errorf(errMessageTemplateUnsupportedKeyType, keyType)
}