fix: fix publisher is creating wrong urls
Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 5s
CI Workflow / Code coverage report (pull_request) Has been cancelled
CI Workflow / Test readiness for publishing provider (pull_request) Has been cancelled
CI Workflow / CI (pull_request) Has been cancelled
Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 5s
CI Workflow / Code coverage report (pull_request) Has been cancelled
CI Workflow / Test readiness for publishing provider (pull_request) Has been cancelled
CI Workflow / CI (pull_request) Has been cancelled
This commit is contained in:
parent
9242a9526c
commit
417e559485
1 changed files with 37 additions and 27 deletions
|
|
@ -4,21 +4,22 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/url"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type Architecture struct {
|
||||
Protocols []string `json:"protocols"`
|
||||
OS string `json:"os"`
|
||||
Arch string `json:"arch"`
|
||||
FileName string `json:"filename"`
|
||||
DownloadUrl string `json:"download_url"`
|
||||
ShaSumsUrl string `json:"shasums_url"`
|
||||
ShaSumsSignatureUrl string `json:"shasums_signature_url"`
|
||||
ShaSum string `json:"shasum"`
|
||||
SigningKeys []SigningKey `json:"signing_keys"`
|
||||
Protocols []string `json:"protocols"`
|
||||
OS string `json:"os"`
|
||||
Arch string `json:"arch"`
|
||||
FileName string `json:"filename"`
|
||||
DownloadUrl string `json:"download_url"`
|
||||
ShaSumsUrl string `json:"shasums_url"`
|
||||
ShaSumsSignatureUrl string `json:"shasums_signature_url"`
|
||||
ShaSum string `json:"shasum"`
|
||||
SigningKeys SigningKey `json:"signing_keys"`
|
||||
}
|
||||
|
||||
type SigningKey struct {
|
||||
|
|
@ -46,14 +47,23 @@ func (p *Provider) CreateArchitectureFiles() error {
|
|||
pathPrefix := path.Join("release", prefix)
|
||||
|
||||
// urlPrefix := fmt.Sprintf("https://%s/%s", domain, prefix)
|
||||
urlPrefix := path.Join("https://", p.Domain, prefix)
|
||||
urlPrefix, err := url.JoinPath("https://", p.Domain, prefix)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error creating base url: %w", err)
|
||||
}
|
||||
|
||||
// download url = https://example.com/v1/providers/namespace/provider/0.0.1/download/terraform-provider_0.0.1_darwin_amd64.zip
|
||||
downloadUrlPrefix := path.Join(urlPrefix, "download")
|
||||
downloadUrlPrefix, err := url.JoinPath(urlPrefix, "download")
|
||||
if err != nil {
|
||||
return fmt.Errorf("error crearting download url: %w", err)
|
||||
}
|
||||
downloadPathPrefix := path.Join(pathPrefix, "download")
|
||||
|
||||
// shasums url = https://example.com/v1/providers/namespace/provider/0.0.1/terraform-provider_0.0.1_SHA256SUMS
|
||||
shasumsUrl := path.Join(urlPrefix, fmt.Sprintf("%s_%s_SHA256SUMS", p.RepoName, p.Version))
|
||||
shasumsUrl, err := url.JoinPath(urlPrefix, fmt.Sprintf("%s_%s_SHA256SUMS", p.RepoName, p.Version))
|
||||
if err != nil {
|
||||
return fmt.Errorf("error creating shasums url: %w", err)
|
||||
}
|
||||
// shasums_signature_url = https://example.com/v1/providers/namespace/provider/0.0.1/terraform-provider_0.0.1_SHA256SUMS.sig
|
||||
shasumsSigUrl := shasumsUrl + ".sig"
|
||||
|
||||
|
|
@ -67,7 +77,10 @@ func (p *Provider) CreateArchitectureFiles() error {
|
|||
return err
|
||||
}
|
||||
for _, sum := range shaSums {
|
||||
downloadUrl := path.Join(downloadUrlPrefix, sum.Path)
|
||||
downloadUrl, err := url.JoinPath(downloadUrlPrefix, sum.Path)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error creating url: %w", err)
|
||||
}
|
||||
|
||||
// get os and arch from filename
|
||||
removeFileExtension := strings.Split(sum.Path, ".zip")
|
||||
|
|
@ -89,23 +102,20 @@ func (p *Provider) CreateArchitectureFiles() error {
|
|||
ShaSumsUrl: shasumsUrl,
|
||||
ShaSumsSignatureUrl: shasumsSigUrl,
|
||||
ShaSum: sum.Sum,
|
||||
SigningKeys: []SigningKey{},
|
||||
SigningKeys: SigningKey{},
|
||||
}
|
||||
|
||||
a.SigningKeys = append(
|
||||
a.SigningKeys,
|
||||
SigningKey{
|
||||
GpgPublicKeys: []GpgPublicKey{
|
||||
{
|
||||
KeyId: p.GpgFingerprint,
|
||||
AsciiArmor: gpgAsciiPub,
|
||||
TrustSignature: "",
|
||||
Source: "",
|
||||
SourceUrl: "",
|
||||
},
|
||||
a.SigningKeys = SigningKey{
|
||||
GpgPublicKeys: []GpgPublicKey{
|
||||
{
|
||||
KeyId: p.GpgFingerprint,
|
||||
AsciiArmor: gpgAsciiPub,
|
||||
TrustSignature: "",
|
||||
Source: "",
|
||||
SourceUrl: "",
|
||||
},
|
||||
},
|
||||
)
|
||||
}
|
||||
// var architectureTemplate = []byte(fmt.Sprintf(`
|
||||
//{
|
||||
// "protocols": [
|
||||
|
|
@ -136,7 +146,7 @@ func (p *Provider) CreateArchitectureFiles() error {
|
|||
|
||||
log.Printf(" - Arch file: %s", archFileName)
|
||||
|
||||
err := WriteArchitectureFile(archFileName, a)
|
||||
err = WriteArchitectureFile(archFileName, a)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue