imageversions

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package imageversions exposes the canonical, embedded runner-image dependency manifest.

Index

Constants

View Source
const (
	DotNetTargetLinux            = "linux"
	DotNetTargetWindowsContainer = "windows-container"
	DotNetTargetQEMUWindows      = "qemu-windows"
)
View Source
const NodeTrackSupportedLTS = "supported-lts"

NodeTrackSupportedLTS declares that the manifest carries every LTS major until its end-of-life, which includes majors that have moved to Maintenance LTS.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseImage

type BaseImage struct {
	Repository string `json:"repository"`
	Tag        string `json:"tag"`
	Digest     string `json:"digest"`
}

func (BaseImage) Reference

func (b BaseImage) Reference() string

type BuildTools

type BuildTools struct {
	DefaultLine string                    `json:"default_line"`
	Lines       map[string]BuildToolsLine `json:"lines"`
}

func (BuildTools) DefaultRelease

func (b BuildTools) DefaultRelease() (BuildToolsLine, bool)

func (BuildTools) ReleaseLines

func (b BuildTools) ReleaseLines() []string

type BuildToolsLine

type BuildToolsLine struct {
	Channel            string `json:"channel"`
	ReleaseLine        string `json:"release_line"`
	Version            string `json:"version"`
	BootstrapperURL    string `json:"bootstrapper_url"`
	BootstrapperSHA256 string `json:"bootstrapper_sha256"`
	ChannelURL         string `json:"channel_url"`
	ChannelSHA256      string `json:"channel_sha256"`
}

type Corepack

type Corepack struct {
	Version string `json:"version"`
	URL     string `json:"url"`
	SHA512  string `json:"sha512"`
}

Corepack is pinned on its own because Node stopped shipping it in the release archive from Node 25 onwards; the images install this tarball instead.

type DotNet

type DotNet struct {
	TrackReleaseTypes           []string                 `json:"track_release_types"`
	UnassignedSupportedChannels []DotNetDiscovery        `json:"unassigned_supported_channels"`
	Channels                    map[string]DotNetChannel `json:"channels"`
}

func (DotNet) ChannelsForTarget

func (d DotNet) ChannelsForTarget(target string) []string

type DotNetChannel

type DotNetChannel struct {
	Targets          []string `json:"targets"`
	ReleaseType      string   `json:"release_type"`
	Version          string   `json:"version"`
	EOL              string   `json:"eol"`
	SupportPhase     string   `json:"support_phase"`
	LinuxX64SHA512   string   `json:"linux_x64_sha512,omitempty"`
	LinuxARM64SHA512 string   `json:"linux_arm64_sha512,omitempty"`
	WindowsX64SHA512 string   `json:"windows_x64_sha512,omitempty"`
}

type DotNetDiscovery

type DotNetDiscovery struct {
	Channel      string `json:"channel"`
	ReleaseType  string `json:"release_type"`
	SupportPhase string `json:"support_phase"`
	EOL          string `json:"eol"`
	LatestSDK    string `json:"latest_sdk"`
}

type Go

type Go struct {
	Strategy           string `json:"strategy"`
	Version            string `json:"version"`
	LinuxAMD64SHA256   string `json:"linux_amd64_sha256"`
	LinuxARM64SHA256   string `json:"linux_arm64_sha256"`
	WindowsAMD64SHA256 string `json:"windows_amd64_sha256"`
}

type Manifest

type Manifest struct {
	Schema      int         `json:"schema"`
	Minimal     Minimal     `json:"minimal"`
	NativeBuild NativeBuild `json:"native_build"`
	Node        Node        `json:"node"`
	DotNet      DotNet      `json:"dotnet"`
	Go          Go          `json:"go"`
	Rust        Rust        `json:"rust"`
	BuildTools  BuildTools  `json:"buildtools"`
}

func Embedded

func Embedded() (Manifest, error)

func MustEmbedded

func MustEmbedded() Manifest

func Read

func Read(path string) (Manifest, error)

func ReadForUpdate

func ReadForUpdate(path string) (Manifest, error)

ReadForUpdate validates policy fields but permits unresolved versions and digests. This lets a maintainer add an empty Node major, .NET channel, or Build Tools line and have the updater populate every upstream-derived field.

func (Manifest) Validate

func (m Manifest) Validate() error

func (Manifest) ValidatePolicy

func (m Manifest) ValidatePolicy() error

type MinGit

type MinGit struct {
	Version string `json:"version"`
	URL     string `json:"url"`
	SHA256  string `json:"sha256"`
}

type Minimal

type Minimal struct {
	LinuxBase   BaseImage  `json:"linux_base"`
	WindowsBase BaseImage  `json:"windows_base"`
	Runner      Runner     `json:"runner"`
	MinGit      MinGit     `json:"mingit"`
	PowerShell  PowerShell `json:"powershell"`
}

type NativeBuild

type NativeBuild struct {
	PackageSource string `json:"package_source"`
	Strategy      string `json:"strategy"`
}

type Node

type Node struct {
	Track        string                 `json:"track"`
	DefaultMajor int                    `json:"default_major"`
	Corepack     Corepack               `json:"corepack"`
	Releases     map[string]NodeRelease `json:"releases"`
}

func (Node) DefaultRelease

func (n Node) DefaultRelease() (NodeRelease, bool)

type NodeRelease

type NodeRelease struct {
	Version          string `json:"version"`
	EOL              string `json:"eol"`
	LinuxX64SHA256   string `json:"linux_x64_sha256"`
	LinuxARM64SHA256 string `json:"linux_arm64_sha256"`
	WindowsX64SHA256 string `json:"windows_x64_sha256"`
}

type PowerShell

type PowerShell struct {
	Version          string `json:"version"`
	WindowsX64SHA256 string `json:"windows_x64_sha256"`
}

type Runner

type Runner struct {
	Version          string `json:"version"`
	LinuxX64SHA256   string `json:"linux_x64_sha256"`
	LinuxARM64SHA256 string `json:"linux_arm64_sha256"`
	WindowsX64SHA256 string `json:"windows_x64_sha256"`
}

type Rust

type Rust struct {
	Channel           string `json:"channel"`
	Version           string `json:"version"`
	RustupVersion     string `json:"rustup_version"`
	RustupX64SHA256   string `json:"rustup_x64_sha256"`
	RustupARM64SHA256 string `json:"rustup_arm64_sha256"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL