99env :
1010 CODEARTIFACT_DOWNLOAD_URL : ${{ secrets.CODEARTIFACT_DOWNLOAD_URL }}
1111 CODEARTIFACT_USERNAME : ${{ secrets.CODEARTIFACT_USERNAME }}
12-
12+ ECR_NEO4J_DOCKER_URL : ${{ secrets.ECR_NEO4J_DOCKER_URL }}
13+
1314
1415jobs :
1516 code-ql :
@@ -23,23 +24,53 @@ jobs:
2324 matrix :
2425 language : [ 'java', 'javascript' ]
2526 steps :
27+ - name : Configure AWS CLI
28+ uses : aws-actions/configure-aws-credentials@v2
29+ with :
30+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
31+ aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
32+ aws-region : eu-west-1
33+
34+ - name : Configure CodeArtifact Authentication Token
35+ run : |
36+ CODEARTIFACT_TOKEN=`aws codeartifact get-authorization-token --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --query authorizationToken --output text`
37+ echo "::add-mask::$CODEARTIFACT_TOKEN"
38+ echo "CODEARTIFACT_TOKEN=$CODEARTIFACT_TOKEN" >> "$GITHUB_ENV"
39+
40+ - name : Login in to AWS ECR
41+ run : |
42+ aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin $ECR_NEO4J_DOCKER_URL
43+
2644 - uses : actions/checkout@v3
2745 - uses : ./.github/actions/setup-jdk
2846 - uses : ./.github/actions/setup-gradle-cache
29-
47+
48+ - name : Determine latest neo4j CI version and docker nightly images
49+ run : |
50+ neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ')
51+ echo "neo4j_version_base=$neo4j_version_base"
52+ NEO4JVERSION=`aws codeartifact list-package-versions --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --repository ci-live --format maven --namespace org.neo4j --package neo4j --sort-by PUBLISHED_TIME --query "versions[?starts_with(version,'$neo4j_version_base')] | [0].version" | tr -d '" '`
53+ echo "NEO4JVERSION=$NEO4JVERSION" >> "$GITHUB_ENV"
54+ echo "Found NEO4JVERSION=$NEO4JVERSION"
55+ NEO4J_DOCKER_EE_OVERRIDE="$ECR_NEO4J_DOCKER_URL:$neo4j_version_base-enterprise-debian-nightly"
56+ echo "NEO4J_DOCKER_EE_OVERRIDE=$NEO4J_DOCKER_EE_OVERRIDE" >> "$GITHUB_ENV"
57+ echo "Found NEO4J_DOCKER_EE_OVERRIDE=$NEO4J_DOCKER_EE_OVERRIDE"
58+ NEO4J_DOCKER_CE_OVERRIDE="$ECR_NEO4J_DOCKER_URL:$neo4j_version_base-community-debian-nightly"
59+ echo "NEO4J_DOCKER_CE_OVERRIDE=$NEO4J_DOCKER_CE_OVERRIDE" >> "$GITHUB_ENV"
60+ echo "Found NEO4J_DOCKER_CE_OVERRIDE=$NEO4J_DOCKER_CE_OVERRIDE"
61+
3062 - name : Compile Java
3163 run : |
3264 chmod +x gradlew
33- ./gradlew --no-daemon --init-script init.gradle clean
65+ ./gradlew --no-daemon --info -Pneo4jVersionOverride=$NEO4JVERSION -- init-script init.gradle clean
3466 # Initializes the CodeQL tools for scanning.
3567 - name : Initialize CodeQL
3668 uses : github/codeql-action/init@v2
3769 with :
3870 languages : ${{ matrix.language }}
39-
40- # Autobuild attempts to build any compiled languages
41- - name : Autobuild
42- uses : github/codeql-action/autobuild@v2
71+
72+ - name : Compile
73+ run : ./gradlew --info -Pneo4jVersionOverride=$NEO4JVERSION compileJava compileTestJava
4374
4475 - name : Perform CodeQL Analysis
4576 uses : github/codeql-action/analyze@v2
5384 project : [ 'extended', 'extended-it' ]
5485 runs-on : ubuntu-latest
5586 steps :
87+ - name : Configure AWS CLI
88+ uses : aws-actions/configure-aws-credentials@v2
89+ with :
90+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
91+ aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
92+ aws-region : eu-west-1
93+
94+ - name : Configure CodeArtifact Authentication Token
95+ run : |
96+ CODEARTIFACT_TOKEN=`aws codeartifact get-authorization-token --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --query authorizationToken --output text`
97+ echo "::add-mask::$CODEARTIFACT_TOKEN"
98+ echo "CODEARTIFACT_TOKEN=$CODEARTIFACT_TOKEN" >> "$GITHUB_ENV"
99+
100+ - name : Login in to AWS ECR
101+ run : |
102+ aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin $ECR_NEO4J_DOCKER_URL
103+
56104 - uses : actions/checkout@v2
57105 - name : Set up JDK 17
58106 uses : actions/setup-java@v2
@@ -66,10 +114,24 @@ jobs:
66114 ~/.gradle/wrapper
67115 key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
68116
117+ - name : Determine latest neo4j CI version and docker nightly images
118+ run : |
119+ neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ')
120+ echo "neo4j_version_base=$neo4j_version_base"
121+ NEO4JVERSION=`aws codeartifact list-package-versions --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --repository ci-live --format maven --namespace org.neo4j --package neo4j --sort-by PUBLISHED_TIME --query "versions[?starts_with(version,'$neo4j_version_base')] | [0].version" | tr -d '" '`
122+ echo "NEO4JVERSION=$NEO4JVERSION" >> "$GITHUB_ENV"
123+ echo "Found NEO4JVERSION=$NEO4JVERSION"
124+ NEO4J_DOCKER_EE_OVERRIDE="$ECR_NEO4J_DOCKER_URL/build-service/neo4j:$neo4j_version_base-enterprise-debian-nightly"
125+ echo "NEO4J_DOCKER_EE_OVERRIDE=$NEO4J_DOCKER_EE_OVERRIDE" >> "$GITHUB_ENV"
126+ echo "Found NEO4J_DOCKER_EE_OVERRIDE=$NEO4J_DOCKER_EE_OVERRIDE"
127+ NEO4J_DOCKER_CE_OVERRIDE="$ECR_NEO4J_DOCKER_URL/build-service/neo4j:$neo4j_version_base-community-debian-nightly"
128+ echo "NEO4J_DOCKER_CE_OVERRIDE=$NEO4J_DOCKER_CE_OVERRIDE" >> "$GITHUB_ENV"
129+ echo "Found NEO4J_DOCKER_CE_OVERRIDE=$NEO4J_DOCKER_CE_OVERRIDE"
130+
69131 - name : Init gradle
70132 run : |
71133 chmod +x gradlew
72- ./gradlew --init-script init.gradle
134+ ./gradlew --info -Pneo4jVersionOverride=$NEO4JVERSION -Pneo4jDockerEeOverride=$NEO4J_DOCKER_EE_OVERRIDE -Pneo4jDockerCeOverride=$NEO4J_DOCKER_CE_OVERRIDE -- init-script init.gradle
73135
74136 - name : Run ${{ matrix.project }} tests
75137 uses : ./.github/actions/test-gradle-project
0 commit comments