Skip to content

Commit

Permalink
fix(panic): gracefully handle if we can't find a Release
Browse files Browse the repository at this point in the history
Sometimes upstream pushes a commit without %{dist} in Release, which has
a side effect of breaking Peridot/srpmproc due to Peridot trying to
extract information based on the tag, and the tag not having this
information.

This change adds error handling for this situation
  • Loading branch information
NeilHanlon committed Jun 25, 2024
1 parent 65b877b commit 9571890
Showing 1 changed file with 21 additions and 9 deletions.
30 changes: 21 additions & 9 deletions peridot/builder/v1/workflow/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ import (
"encoding/hex"
"errors"
"fmt"
"io"
http2 "net/http"
"net/url"
"os"
"path/filepath"
"regexp"
"strings"
"time"

"github.com/go-git/go-billy/v5"
"github.com/go-git/go-billy/v5/memfs"
"github.com/go-git/go-billy/v5/osfs"
Expand All @@ -62,19 +71,11 @@ import (
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/anypb"
"google.golang.org/protobuf/types/known/wrapperspb"
"io"
http2 "net/http"
"net/url"
"os"
"path/filepath"
"peridot.resf.org/apollo/rpmutils"
"peridot.resf.org/peridot/db/models"
peridotpb "peridot.resf.org/peridot/pb"
"peridot.resf.org/peridot/rpmbuild"
"peridot.resf.org/utils"
"regexp"
"strings"
"time"
)

// This should probably reside somewhere else
Expand Down Expand Up @@ -1016,12 +1017,23 @@ func (c *Controller) srpmprocToImportRevisions(project *models.Project, pkg stri
moduleStream = true
}

version := res.BranchVersions[branch]
version, ok := res.BranchVersions[branch]

if !ok {
c.log.Errorf("unable to find branch %s in BranchVersions", branch)
}

if version == nil {
c.log.Errorf("version for branch %s is nil", branch)
}

// For now let's just include all module metadata in the release field.
// We might use it to match upstream versions in the Future.
// If it doesn't work out as expected, we can always resort back to replacing.
release := version.Release
if release == "" {
c.log.Errorf("release information missing for branch %s", branch)
}

section := OpenPatchRpms
if module {
Expand Down

0 comments on commit 9571890

Please sign in to comment.