Skip to content

Commit 56abcda

Browse files
committed
feat: create nodejs-steps image & remove nodejs image
- Created a minimal nodejs-steps image & removed the nodejs image - Removed auth subcommand from nodejs-steps binary, updated the publish subcommand to emulate gcbv1 npmArtifacts Bug: b/351000993 Change-Id: I1dde8d6a28b4217d29543cdcbec69fc31d1c9737
1 parent c710ee8 commit 56abcda

File tree

17 files changed

+177
-415
lines changed

17 files changed

+177
-415
lines changed

Diff for: cmd/nodejs-steps/auth.go

-75
This file was deleted.

Diff for: cmd/nodejs-steps/internal/provenance.go

+42-9
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,46 @@ import (
1717
"encoding/json"
1818
"fmt"
1919
"os"
20+
"strings"
2021

2122
"github.com/GoogleCloudBuild/cicd-images/internal/helper"
2223
)
2324

2425
type Provenance struct {
25-
Uri string
26-
Digest string
26+
URI string `json:"uri"`
27+
Digest string `json:"digest"`
28+
IsBuildArtifact string `json:"isBuildArtifact"`
2729
}
2830

29-
func GenerateProvenance(provenancePath, packageFileName, uri string) error {
30-
digest, err := helper.ComputeDigest(packageFileName)
31+
type PackageJSON struct {
32+
Name string `json:"name"`
33+
Version string `json:"version"`
34+
}
35+
36+
func GenerateProvenance(provenancePath, repository, isBuildArtifact string) error {
37+
pkg, err := parsePackageJSON()
38+
if err != nil {
39+
return err
40+
}
41+
42+
fileName := strings.ReplaceAll(pkg.Name, "@", "")
43+
fileName = strings.ReplaceAll(fileName, "/", "-")
44+
45+
tarballName := fmt.Sprintf("%s-%s.tgz", fileName, pkg.Version)
46+
uri := fmt.Sprintf("%s/%s/%s/%s", repository, pkg.Name, pkg.Version, tarballName)
47+
48+
digest, err := helper.ComputeDigest(tarballName)
3149
if err != nil {
32-
return fmt.Errorf("error computing digest for %s: %w", packageFileName, err)
50+
return fmt.Errorf("error computing digest for %s: %w", tarballName, err)
3351
}
34-
fmt.Printf("digest: %s uri: %s", digest, uri)
3552

3653
provenance := &Provenance{
37-
Uri: uri,
38-
Digest: digest,
54+
URI: strings.TrimSpace(uri),
55+
Digest: strings.TrimSpace(digest),
56+
IsBuildArtifact: strings.TrimSpace(isBuildArtifact),
3957
}
4058

4159
file, err := json.Marshal(provenance)
42-
fmt.Printf("provenance: %s", string(file[:]))
4360
if err != nil {
4461
return fmt.Errorf("error marshaling json %v: %w", provenance, err)
4562
}
@@ -52,3 +69,19 @@ func GenerateProvenance(provenancePath, packageFileName, uri string) error {
5269

5370
return nil
5471
}
72+
73+
func parsePackageJSON() (PackageJSON, error) {
74+
// Parse package.json file to extract name & version
75+
data, err := os.ReadFile("./package.json")
76+
if err != nil {
77+
return PackageJSON{}, fmt.Errorf("error reading package.json file: %w", err)
78+
}
79+
80+
var pkg PackageJSON
81+
err = json.Unmarshal(data, &pkg)
82+
if err != nil {
83+
return PackageJSON{}, fmt.Errorf("error unmarshalling package.json file: %w", err)
84+
}
85+
86+
return pkg, nil
87+
}

Diff for: cmd/nodejs-steps/internal/run.go

-26
This file was deleted.

Diff for: cmd/nodejs-steps/internal/run_test.go

-31
This file was deleted.

Diff for: cmd/nodejs-steps/internal/testdata/test.tar

-10 KB
Binary file not shown.

Diff for: cmd/nodejs-steps/internal/testdata/test.txt

Whitespace-only changes.

Diff for: cmd/nodejs-steps/pkg/npmrc/npmrc.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package npmrc
1717

1818
import (
1919
"fmt"
20-
"io/ioutil"
2120
"os"
2221
"strings"
2322
)
@@ -32,7 +31,7 @@ func Load(npmrcPath string) (string, error) {
3231
npmrcPath = h
3332
}
3433

35-
data, err := ioutil.ReadFile(npmrcPath)
34+
data, err := os.ReadFile(npmrcPath)
3635
if err != nil {
3736
return "", fmt.Errorf("cannot load .npmrc file: %w", err)
3837
}

0 commit comments

Comments
 (0)