Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions pkg/arch/arch.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,45 @@ func (a Arch) String() string {
}
}

func (a Arch) GoArch() string {
switch a {
case ARCH_ARM:
return "arm"
case ARCH_AARCH64:
return "arm64"
case ARCH_PPC64LE:
return "ppc64le"
case ARCH_S390X:
return "s390x"
case ARCH_X86_64:
return "amd64"
case ARCH_RISCV64:
return "riscv64"
default:
panic("invalid architecture")
}
}

func (a Arch) GoVariant() string {
// TODO: make ARCH_ constants map to different variants
switch a {
case ARCH_ARM:
return "v7"
case ARCH_AARCH64:
fallthrough
case ARCH_PPC64LE:
fallthrough
case ARCH_S390X:
fallthrough
case ARCH_X86_64:
fallthrough
case ARCH_RISCV64:
return ""
default:
panic("invalid architecture")
}
}

func (a *Arch) UnmarshalJSON(data []byte) (err error) {
var s string
if err := json.Unmarshal(data, &s); err != nil {
Expand Down
6 changes: 6 additions & 0 deletions pkg/arch/arch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ func TestCurrentArchAMD64(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "amd64"
assert.Equal(t, "x86_64", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsX86_64())
}

Expand All @@ -22,6 +23,7 @@ func TestCurrentArchARM(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "arm"
assert.Equal(t, "arm", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsArm())
}

Expand All @@ -30,6 +32,7 @@ func TestCurrentArchARM64(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "arm64"
assert.Equal(t, "aarch64", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsAarch64())
}

Expand All @@ -38,6 +41,7 @@ func TestCurrentArchPPC64LE(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "ppc64le"
assert.Equal(t, "ppc64le", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsPPC())
}

Expand All @@ -46,6 +50,7 @@ func TestCurrentArchS390X(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "s390x"
assert.Equal(t, "s390x", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsS390x())
}

Expand All @@ -54,6 +59,7 @@ func TestCurrentArchRiscv64(t *testing.T) {
defer func() { runtimeGOARCH = origRuntimeGOARCH }()
runtimeGOARCH = "riscv64"
assert.Equal(t, "riscv64", Current().String())
assert.Equal(t, runtimeGOARCH, Current().GoArch())
assert.True(t, IsRISCV64())
}

Expand Down
3 changes: 2 additions & 1 deletion pkg/manifest/oci_container.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ func (p *OCIContainer) serialize() (osbuild.Pipeline, error) {
}

options := &osbuild.OCIArchiveStageOptions{
Architecture: p.treePipeline.Platform().GetArch().String(),
Architecture: p.treePipeline.Platform().GetArch().GoArch(),
Variant: p.treePipeline.Platform().GetArch().GoVariant(),
Filename: p.Filename(),
Config: p.OCIContainerCustomizations.OCIArchiveConfig,
}
Expand Down
3 changes: 3 additions & 0 deletions pkg/osbuild/oci_archive_stage.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ type OCIArchiveStageOptions struct {
// The CPU architecture of the image
Architecture string `json:"architecture"`

// The CPU architecture variant of the image
Variant string `json:"variant,omitempty"`

// Resulting image filename
Filename string `json:"filename"`

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading