Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync with upstream #6

Open
wants to merge 39 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
73fa52a
fix(neutron): switches to cargo build because of wasm issues (#255)
AntiTyping Jul 9, 2024
67a28bb
Trim CosmWasm /v2 suffix from package string pulled from go mod (#259)
pharr117 Jul 23, 2024
ade9d02
feat: add clone-key option for local with private go modules (#257)
allthatjazzleo Jul 23, 2024
d45fa50
update thorchain chain.yaml config (#261)
misko9 Jul 26, 2024
f4ff8da
set platform for penumbra (#265)
danbryan Aug 6, 2024
d401f9c
fix: Some chains decide to name the static files differently (#264)
vimystic Aug 6, 2024
5f5eda5
thorchain tag (#266)
agouin Aug 9, 2024
1c990b0
chore: update latest go version `1.22.6` (#268)
boojamya Aug 22, 2024
418c5f9
chore: xion - add binutils-gold for v50 builds
2xburnt Aug 22, 2024
9fb3901
remove generate binary from build as it was removed from thornode rep…
misko9 Aug 23, 2024
c33ce71
Update quasar bin name to required quasard for v3+ changes (#274)
pharr117 Aug 29, 2024
ce79227
Remove fork org on noble config (#275)
pharr117 Aug 29, 2024
786fb56
remove generate binary from build as it was removed from thornode rep…
misko9 Sep 4, 2024
00f8338
Stop auto-adding heighliner stories to motherboard
jonathanpberger Sep 10, 2024
7f02c17
feat: add golang v1.23 (#279)
allthatjazzleo Sep 17, 2024
64301f4
fix(neutron): Package libwasmvm (#280)
agouin Sep 17, 2024
bf07072
Bump github.com/docker/docker (#277)
dependabot[bot] Sep 25, 2024
6e49d6c
Bump github.com/opencontainers/runc from 1.1.12 to 1.1.14 (#278)
dependabot[bot] Sep 25, 2024
488de19
update chains (#281)
PFC-developer Sep 26, 2024
3f9ed60
fix: lint error from a previous PR (#284)
vimystic Sep 26, 2024
674cdb8
feat: use a directory to hold chain configs, not just a single file (…
PFC-developer Oct 2, 2024
9885965
Support directory copying to final images for cosmos chains (#285)
agouin Oct 3, 2024
fee412d
fix: copy over required libraries so native build will work (#282)
PFC-developer Oct 7, 2024
f401f0c
fix: support creating dirs for copied directories (#288)
agouin Oct 8, 2024
2c43b3b
feat: implement chains.yaml split and embed data into binary (#286)
vimystic Oct 8, 2024
895b6d5
switcharoo on terra/terra-classic (#289)
PFC-developer Oct 8, 2024
d55f93d
chore: correct onomy files (#290)
vimystic Oct 10, 2024
b675b55
feat: detect "vendor" folder for local builds (#291)
boojamya Oct 11, 2024
b2ccb18
feat: add mantrachain (#293)
allthatjazzleo Nov 1, 2024
72ebc35
feat: add lava chain (#296)
vimystic Nov 12, 2024
0bdc978
Create elys.yaml (#298)
cosmic-vagabond Nov 26, 2024
feb9141
feat: Update XION requirements for v50 (#295)
vimystic Nov 26, 2024
304b55a
feat(thorchain): update config to use v3 (#297)
misko9 Dec 4, 2024
8e9ec02
chore: update celestia yamls to reflect correct names (#302)
vimystic Dec 6, 2024
3e805a2
fix up chain defs (#303)
PFC-developer Dec 12, 2024
e6fc268
chore: use correct go image version for 1.23 (#305)
vimystic Dec 12, 2024
6f5d0af
build(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 (#304)
dependabot[bot] Dec 16, 2024
34f9472
add price feeder to image (#300)
PFC-developer Dec 19, 2024
89426ba
feat: add axone chain (#299)
ccamel Dec 19, 2024
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
25 changes: 0 additions & 25 deletions .github/workflows/strangelove-project-management.yaml

This file was deleted.

4 changes: 4 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
version: 1
before:
hooks:
- bash -c 'cat chains/*.yaml > chains.yaml'
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
build:
cat chains/*.yaml > chains.yaml
go build
rm -f chains.yaml
install:
cat chains/*.yaml > chains.yaml
go install
rm -f chains.yaml
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
[![Conforms to README.lint](https://img.shields.io/badge/README.lint-conforming-brightgreen)](https://github.com/strangelove-ventures/readme-dot-lint)


🌌 Why use Heighliner?
=============================
Expand All @@ -24,7 +22,7 @@ Heighliner container images are useful for anyone who's responsible for infrastr

Heighliner images are minimally constructed from scratch images, packaging only the chain binary and a useful reduced set of busybox utilities.

This repository has a CI/CD pipeline to automatically build images when new git tags are detected on the chain repos in [chains.yaml](./chains.yaml). These images are hosted as packages in the Github Container Registry (ghcr) [here](https://github.com/orgs/strangelove-ventures/packages?repo_name=heighliner)
This repository has a CI/CD pipeline to automatically build images when new git tags are detected on the chain repos in [chains/](chains). These images are hosted as packages in the Github Container Registry (ghcr) [here](https://github.com/orgs/strangelove-ventures/packages?repo_name=heighliner)



Expand All @@ -33,7 +31,7 @@ This repository has a CI/CD pipeline to automatically build images when new git

## Add a New Chain

To add a chain to the heighliner built-in configuration and have your chain images available on our repository's [ghcr](https://github.com/orgs/strangelove-ventures/packages?repo_name=heighliner), submit a PR adding it to [chains.yaml](./chains.yaml) so it will be included in the automatic builds.
To add a chain to the heighliner built-in configuration and have your chain images available on our repository's [ghcr](https://github.com/orgs/strangelove-ventures/packages?repo_name=heighliner), submit a PR adding it to the [chains directory](chains) so it will be included in the automatic builds.

For further instructions see: [addChain.md](./addChain.md)

Expand All @@ -47,9 +45,19 @@ If you would like to build the images yourself, heighliner is a CLI tool to help
Download the latest [release](https://github.com/strangelove-ventures/heighliner/releases), or build it yourself with:

```shell
go build
make build
```

## Build and put binary in path.

If you would like to build an image and put it in your local path , you can do the following.

```shell
make install
```



#### Example: build the docker image for gaia v6.0.0:

```shell
Expand Down Expand Up @@ -117,7 +125,7 @@ export GH_USER=github_username GH_PAT=github_personal_access_token
heighliner build -r ghcr.io/strangelove-ventures/heighliner -n 3
```

heighliner will fetch the last 3 release tags from github for all chains in [chains.yaml](./chains.yaml), build docker images, and push them.
heighliner will fetch the last 3 release tags from github for all chains in [chains](chains), build docker images, and push them.



Expand Down
10 changes: 8 additions & 2 deletions builder/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ func getWasmvmVersion(modFile *modfile.File) string {
for _, item := range modFile.Require {
// Must have 2 tokens, repo & version
if (len(item.Syntax.Token) == 2) && (strings.Contains(item.Syntax.Token[0], wasmvmRepo)) {
wasmvmRepo = item.Syntax.Token[0]
wasmvmRepo = strings.TrimSuffix(item.Syntax.Token[0], "/v2")
wasmvmVersion = item.Syntax.Token[1]
}
}
Expand All @@ -251,7 +251,7 @@ func getWasmvmVersion(modFile *modfile.File) string {
for _, item := range modFile.Replace {
// Must have 3 or more tokens
if (len(item.Syntax.Token) > 2) && (strings.Contains(item.Syntax.Token[0], wasmvmRepo)) {
wasmvmRepo = item.Syntax.Token[len(item.Syntax.Token)-2]
wasmvmRepo = strings.TrimSuffix(item.Syntax.Token[len(item.Syntax.Token)-2], "/v2")
wasmvmVersion = item.Syntax.Token[len(item.Syntax.Token)-1]
}
}
Expand Down Expand Up @@ -410,6 +410,11 @@ func (h *HeighlinerBuilder) buildChainNodeDockerImage(
chainConfig.Build.BuildDir = "."
}

vendor := "false"
if vendorDir, err := os.Stat("vendor"); err == nil && vendorDir.IsDir() {
vendor = "true"
}

buildArgs := map[string]string{
"VERSION": chainConfig.Ref,
"BASE_VERSION": gv.Image,
Expand All @@ -429,6 +434,7 @@ func (h *HeighlinerBuilder) buildChainNodeDockerImage(
"BUILD_ENV": buildEnv,
"BUILD_TAGS": buildTagsEnvVar,
"BUILD_DIR": chainConfig.Build.BuildDir,
"VENDOR": vendor,
"BUILD_TIMESTAMP": buildTimestamp,
"GO_VERSION": gv.Version,
"WASMVM_VERSION": wasmvmVersion,
Expand Down
15 changes: 9 additions & 6 deletions builder/go_versions.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ const (
Go118Version = "1.18.10"
Go119Version = "1.19.13"
Go120Version = "1.20.14"
Go121Version = "1.21.7"
Go122Version = "1.22.0"
Go121Version = "1.21.13"
Go122Version = "1.22.7"
Go123Version = "1.23.4"
// ADD NEW GO VERSION [1] - latest patch release for each major/minor

// When updating alpine image, ensure all golang build image combinations below exist
LatestAlpineImageVersion = "3.19"
LatestAlpineImageVersion = "3.20"
)

var (
Expand All @@ -26,13 +27,14 @@ var (
// Find from https://hub.docker.com/_/golang
Go118Image = GolangAlpineImage(Go118Version, "3.17") // Go 1.18 is now deprecated, pinning to 3.17
Go119Image = GolangAlpineImage(Go119Version, "3.18") // Go 1.19 is now deprecated, pinning to 3.18
Go120Image = GolangAlpineImage(Go120Version, LatestAlpineImageVersion)
Go120Image = GolangAlpineImage(Go120Version, "3.19")
Go121Image = GolangAlpineImage(Go121Version, LatestAlpineImageVersion)
Go122Image = GolangAlpineImage(Go122Version, LatestAlpineImageVersion)
Go123Image = GolangAlpineImage(Go123Version, LatestAlpineImageVersion)

// ADD NEW GO VERSION [3] - update GoDefaultVersion and GoDefaultImage to latest
GoDefaultVersion = Go122Version
GoDefaultImage = Go122Image // default image for cosmos go builds if go.mod parse fails
GoDefaultVersion = Go123Version
GoDefaultImage = Go123Image // default image for cosmos go builds if go.mod parse fails
)

func GolangAlpineImage(goVersion, alpineVersion string) string {
Expand All @@ -51,6 +53,7 @@ var GoImageForVersion = map[string]GoVersion{
"1.20": GoVersion{Version: Go120Version, Image: Go120Image},
"1.21": GoVersion{Version: Go121Version, Image: Go121Image},
"1.22": GoVersion{Version: Go122Version, Image: Go122Image},
"1.23": GoVersion{Version: Go123Version, Image: Go123Image},
// ADD NEW GO VERSION [4]
}

Expand Down
Loading