Skip to content

Commit

Permalink
fix: ignore releases previously found not valid
Browse files Browse the repository at this point in the history
  • Loading branch information
sjurtf authored and stigok committed Mar 7, 2024
1 parent c3bb029 commit c9a3368
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions pkg/store/github/github.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ type GitHubStore struct {
moduleCache map[string][]*core.ModuleVersion
providerVersionsCache map[string]*core.ProviderVersions
providerCache map[string]*core.Provider
providerIgnoreCache sync.Map
moduleMut sync.RWMutex
providerMut sync.RWMutex

Expand Down Expand Up @@ -253,27 +254,36 @@ func (s *GitHubStore) ReloadProviderCache(ctx context.Context) error {
var platforms []core.Platform
version := strings.TrimPrefix(release.GetName(), "v")

if _, ok := s.providerIgnoreCache.Load(cacheKey(nameKey, version)); ok {
s.logger.Debug(fmt.Sprintf("ignoring release [%s/%s], previously found to be not valid", nameKey, version))
continue
}

SHASums, SHASumURL, SHASumFileName, err := s.getSHA256Sums(ctx, owner, name, release.Assets)
if err != nil {
s.logger.Warn(fmt.Sprintf("not a valid release [%s/%s]- could not find SHA checksums: %s", nameKey, version, err))
s.providerIgnoreCache.Store(cacheKey(nameKey, version), true)
continue
}

// not considered a valid release if a shasum file was not part of the release
if SHASumURL == "" {
s.logger.Warn(fmt.Sprintf("not a valid release [%s/%s] - could not find SHA checksums", nameKey, version))
s.providerIgnoreCache.Store(cacheKey(nameKey, version), true)
continue
}

providerProtocols, err := s.getProviderProtocols(ctx, owner, name, release.Assets)
if err != nil {
s.logger.Warn(fmt.Sprintf("not a valid release [%s/%s] - unable to identify provider protocol", nameKey, version))
s.providerIgnoreCache.Store(cacheKey(nameKey, version), true)
continue
}

keys, err := s.getGPGPublicKey(ctx, release, owner, name)
if err != nil || len(keys) != 1 {
s.logger.Warn(fmt.Sprintf("not a valid release [%s/%s] - unable to get GPG Public Key", nameKey, version))
s.providerIgnoreCache.Store(cacheKey(nameKey, version), true)
continue
}

Expand Down

0 comments on commit c9a3368

Please sign in to comment.