Skip to content

Commit cd6ca66

Browse files
committed
feat(test): add comprehensive tests for ix-proxy and staging handling
- Port TypeScript companion test suite to Java for ix-proxy behavior validation - Introduce tests for staging environments, including vault PDA derivations and program-specific handling - Ensure consistency checks between production and staging outputs - Resolve edge cases for unsupported programs and discriminators - Enhance robustness of signer account fixing logic BREAKING CHANGE: New test structure and staging-specific handling introduce constraints requiring updated configurations.
1 parent 1bdf48d commit cd6ca66

19 files changed

Lines changed: 796 additions & 538 deletions

.github/workflows/build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ on:
44
push:
55
branches:
66
- main
7-
pull_request_target:
8-
types: [ opened, synchronize ]
7+
8+
concurrency:
9+
group: build-${{ github.ref_name }}
10+
cancel-in-progress: true
911

1012
jobs:
1113
check:

.github/workflows/check-pr.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Gradle Check PR
2+
3+
on:
4+
pull_request_target:
5+
types: [ opened, synchronize, reopened ]
6+
7+
concurrency:
8+
group: check-pr-${{ github.event.pull_request.number }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
check:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- id: setup
17+
uses: sava-software/sava-build@main
18+
with:
19+
default-java-version: ${{ vars.JAVA_VERSION }}
20+
jdk-src: ${{ vars.JDK_SRC }}
21+
gradle-java-version: ${{ vars.GRADLE_JAVA_VERSION }}
22+
23+
- name: Download Mapping Files
24+
run: ./downloadMappings.sh
25+
26+
- name: Gradle Check
27+
run: ./gradlew --stacktrace -PjavaVersion=${{ steps.setup.outputs.java-version }} check
28+
env:
29+
ORG_GRADLE_PROJECT_savaGithubPackagesUsername: ${{ env.GITHUB_ACTOR }}
30+
ORG_GRADLE_PROJECT_savaGithubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/publish.yml

Lines changed: 9 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,18 @@
11
name: Publish Release
22

33
on:
4-
create:
4+
push:
55
tags:
6-
- '\d+\.\d+\.\d+'
6+
- '[0-9]*.[0-9]*.[0-9]*'
77

8-
jobs:
9-
check:
10-
runs-on: ubuntu-latest
8+
concurrency:
9+
group: publish-${{ github.ref }}
10+
cancel-in-progress: false
1111

12+
jobs:
13+
publish:
14+
uses: sava-software/sava-build/.github/workflows/publish.yml@main
15+
secrets: inherit
1216
permissions:
1317
contents: read
1418
packages: write
15-
16-
steps:
17-
- id: setup
18-
uses: sava-software/sava-build@main
19-
with:
20-
default-java-version: ${{ vars.JAVA_VERSION }}
21-
jdk-src: ${{ vars.JDK_SRC }}
22-
gradle-java-version: ${{ vars.GRADLE_JAVA_VERSION }}
23-
24-
- name: Download Mapping Files
25-
run: ./downloadMappings.sh
26-
27-
- name: Check
28-
run: ./gradlew --stacktrace -PjavaVersion=${{ steps.setup.outputs.java-version }} -Pversion=${{ github.ref_name }} check
29-
env:
30-
ORG_GRADLE_PROJECT_savaGithubPackagesUsername: ${{ env.GITHUB_ACTOR }}
31-
ORG_GRADLE_PROJECT_savaGithubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
32-
33-
- name: Maven Central
34-
run: ./gradlew --stacktrace -Psign=true -PjavaVersion=${{ steps.setup.outputs.java-version }} -Pversion=${{ github.ref_name }} :aggregation:publishAggregationToCentralPortal
35-
env:
36-
GPG_PUBLISH_SECRET: ${{ secrets.GPG_PUBLISH_SECRET }}
37-
GPG_PUBLISH_PHRASE: ${{ secrets.GPG_PUBLISH_PHRASE }}
38-
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
39-
MAVEN_CENTRAL_SECRET: ${{ secrets.MAVEN_CENTRAL_SECRET }}
40-
ORG_GRADLE_PROJECT_savaGithubPackagesUsername: ${{ env.GITHUB_ACTOR }}
41-
ORG_GRADLE_PROJECT_savaGithubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
42-
43-
- name: Github Packages
44-
run: ./gradlew --stacktrace -Psign=true -PjavaVersion=${{ steps.setup.outputs.java-version }} -Pversion=${{ github.ref_name }} :aggregation:publishToGitHubPackages
45-
env:
46-
GPG_PUBLISH_SECRET: ${{ secrets.GPG_PUBLISH_SECRET }}
47-
GPG_PUBLISH_PHRASE: ${{ secrets.GPG_PUBLISH_PHRASE }}
48-
ORG_GRADLE_PROJECT_savaGithubPackagesUsername: ${{ env.GITHUB_ACTOR }}
49-
ORG_GRADLE_PROJECT_savaGithubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Release Please
2+
3+
on:
4+
workflow_run:
5+
workflows: [ "Gradle Check" ]
6+
branches:
7+
- main
8+
types:
9+
- completed
10+
11+
concurrency:
12+
group: release-please-${{ github.ref }}
13+
cancel-in-progress: false
14+
15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
19+
jobs:
20+
release-please:
21+
if: ${{ github.event.workflow_run.conclusion == 'success' }}
22+
uses: sava-software/sava-build/.github/workflows/release-please.yml@main
23+
secrets: inherit

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,5 @@ target/
4949
!gradle-wrapper.jar
5050

5151
/glam
52+
/symlinks/
53+
/.junie/

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "25.0.2"
3+
}

downloadMappings.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@ set -e
44

55
rm -rf glam/
66
git clone -n --depth=1 --filter=tree:0 https://github.com/glamsystems/ix-mapper-ts.git glam
7-
cd glam
8-
git sparse-checkout set --no-cone /mapping-configs-v0 /mapping-configs-v1
9-
git checkout
107

11-
cd ..
8+
git -C glam sparse-checkout set --no-cone /mapping-configs-v1 /mapping-configs-v1-staging
9+
git -C glam checkout
1210

1311
exit 0

gradle/sava.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ developerName="Jim"
55
developerId="jpe7s"
66
developerEmail="james@glam.systems"
77
javaVersion=25
8-
solanaBOMVersion=25.18.3
8+
solanaBOMVersion=25.21.5

gradle/wrapper/gradle-wrapper.jar

-504 Bytes
Binary file not shown.
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
44
networkTimeout=10000
5+
retries=0
6+
retryBackOffMs=500
57
validateDistributionUrl=true
68
zipStoreBase=GRADLE_USER_HOME
79
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)