Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/horizon-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Run deprecation tests
shell: bash
run: |
export VERSION=${GITHUB_REF_NAME#horizon-v}
export VERSION=${GITHUB_REF_NAME#v}
echo "Searching for \"Action needed in release ${VERSION}\" tags..."
# Negate the result so process exits with 1 if anything found
! egrep -irn -A 1 --include=*.go "Action.+needed.+in.+release:.+$VERSION" ./
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/horizon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ jobs:
uses: ./.github/workflows/integration-tests.yml
with:
protocol_version: '27'
core_deb_version: '27.1.0-3365.3589a696b.jammy~buildtests'
core_docker_img: 'stellar/stellar-core:27.1.0-3365.3589a696b.jammy'
stellar_rpc_docker_img: 'stellar/stellar-rpc:27.1.1'
# The P27 leg runs the NEW core and rpc builds at protocol 27 — the point
# is verifying the updated binaries still serve the previous protocol
# (the real configuration during the upgrade window), not re-testing
# already-shipped versions against each other.
core_deb_version: '28.0.0-3486.2332980a1.jammy~buildtests'
core_docker_img: 'stellar/unsafe-stellar-core:28.0.0-3486.2332980a1.jammy'
stellar_rpc_docker_img: 'stellar/stellar-rpc:28.0.0-vnext-unstable-195'
full_matrix: true

integration-p28-pkg:
Expand All @@ -22,7 +26,7 @@ jobs:
with:
protocol_version: '28'
core_deb_version: '28.0.0-3486.2332980a1.jammy~buildtests'
core_docker_img: 'stellar/stellar-core:28.0.0-3486.2332980a1.jammy'
core_docker_img: 'stellar/unsafe-stellar-core:28.0.0-3486.2332980a1.jammy'
stellar_rpc_docker_img: 'stellar/stellar-rpc:28.0.0-vnext-unstable-195'
full_matrix: true

Expand All @@ -39,7 +43,7 @@ jobs:
runs-on: ubuntu-24.04
env:
GO_VERSION: 1.25.0
STELLAR_CORE_VERSION: 27.1.0-3365.3589a696b.noble
STELLAR_CORE_VERSION: 28.0.0-3486.2332980a1.noble
steps:
- uses: actions/checkout@v3
with:
Expand Down
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
All notable changes to this project will be documented in this
file. This project adheres to [Semantic Versioning](http://semver.org/).

## Unreleased
## 28.0.0

**This release adds support for Protocol 28.**

### Added
- Added Protocol 28 (CAP-0085) ingestion support: decode of the new `ContractExecutable` external-reference variant and the `SCV_EXECUTABLE_TAG` `SCVal` arm, delivered via the regenerated `go-stellar-sdk` XDR ([go-stellar-sdk#5965](https://github.com/stellar/go-stellar-sdk/pull/5965)) ([#207](https://github.com/stellar/stellar-horizon/pull/207)). `MaxSupportedProtocolVersion` is already 28, so no bump is required.
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ require (
require (
github.com/creachadair/jrpc2 v1.2.0
github.com/fsouza/fake-gcs-server v1.49.2
github.com/stellar/go-stellar-sdk v0.6.1-0.20260722220414-82df7643786e
github.com/stellar/go-stellar-sdk v0.7.0
)

require (
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -429,8 +429,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI=
github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI=
github.com/stellar/go-stellar-sdk v0.6.1-0.20260722220414-82df7643786e h1:Q6t+I7yt2Fwe38JgZ5hFqrNVOTrBz74tiCBv5yEpoZE=
github.com/stellar/go-stellar-sdk v0.6.1-0.20260722220414-82df7643786e/go.mod h1:IkcqcrE9UQi7n/1y+MxKB+7qzdjG1T2kGOD7Ss8dqjw=
github.com/stellar/go-stellar-sdk v0.7.0 h1:nzEOPA+OdRKKKnBdDAZfgrs7s3cLVST8dC1umJ4vSaU=
github.com/stellar/go-stellar-sdk v0.7.0/go.mod h1:IkcqcrE9UQi7n/1y+MxKB+7qzdjG1T2kGOD7Ss8dqjw=
github.com/stellar/go-xdr v0.0.0-20260529210834-0bf8f4956364 h1:gOKrfuWdZ92LFlv0TAwgZ7OsWKeBsOMDlGLyFgduI1w=
github.com/stellar/go-xdr v0.0.0-20260529210834-0bf8f4956364/go.mod h1:If+U9Z1W5xU97VrOgJandQT+2dN7/iOpkCrxBJEyF80=
github.com/stellar/throttled v2.2.3-0.20190823235211-89d75816f59d+incompatible h1:jMXXAcz6xTarGDQ4VtVbtERogcmDQw4RaE85Cr9CgoQ=
Expand Down
2 changes: 1 addition & 1 deletion internal/ingest/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ func (s *system) LoadTest(ledgersFilePath, fixturesFilePath string, merge bool,
// 4. Set up loadtest backend and run FSM
config := loadtest.LedgerBackendConfig{
NetworkPassphrase: s.config.NetworkPassphrase,
LedgersFilePath: ledgersFilePath,
LedgersFilePaths: []string{ledgersFilePath},
LedgerCloseDuration: closeDuration,
}
if merge {
Expand Down
8 changes: 4 additions & 4 deletions internal/integration/ingestion_load_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,13 @@

replayConfig := loadtest.LedgerBackendConfig{
NetworkPassphrase: "invalid passphrase",
LedgersFilePath: filepath.Join("testdata", fmt.Sprintf("load-test-ledgers-v%d.xdr.zstd", itest.Config().ProtocolVersion)),
LedgersFilePaths: []string{filepath.Join("testdata", fmt.Sprintf("load-test-ledgers-v%d.xdr.zstd", itest.Config().ProtocolVersion))},
LedgerCloseDuration: 3 * time.Second / 2,
LedgerBackend: newCaptiveCore(itest),
}
var generatedLedgers []xdr.LedgerCloseMeta

readFile(t, replayConfig.LedgersFilePath,
readFile(t, replayConfig.LedgersFilePaths[0],
func() *xdr.LedgerCloseMeta { return &xdr.LedgerCloseMeta{} },
func(ledger *xdr.LedgerCloseMeta) {
generatedLedgers = append(generatedLedgers, *ledger)
Expand Down Expand Up @@ -204,12 +204,12 @@
fixturePassphrase := loadTestNetworkPassphraseFor(horizoningest.MaxSupportedProtocolVersion)
replayConfig := loadtest.LedgerBackendConfig{
NetworkPassphrase: "invalid passphrase",
LedgersFilePath: filepath.Join("testdata", fmt.Sprintf("load-test-ledgers-v%d.xdr.zstd", horizoningest.MaxSupportedProtocolVersion)),
LedgersFilePaths: []string{filepath.Join("testdata", fmt.Sprintf("load-test-ledgers-v%d.xdr.zstd", horizoningest.MaxSupportedProtocolVersion))},

Check failure on line 207 in internal/integration/ingestion_load_test.go

View workflow job for this annotation

GitHub Actions / golangci

The line is 149 characters long, which exceeds the maximum of 140 characters. (lll)
LedgerCloseDuration: 3 * time.Second / 2,
}
var generatedLedgers []xdr.LedgerCloseMeta

readFile(t, replayConfig.LedgersFilePath,
readFile(t, replayConfig.LedgersFilePaths[0],
func() *xdr.LedgerCloseMeta { return &xdr.LedgerCloseMeta{} },
func(ledger *xdr.LedgerCloseMeta) {
generatedLedgers = append(generatedLedgers, *ledger)
Expand Down
Loading