Skip to content

Commit

Permalink
[NOID] Pointing github action to codeartifact
Browse files Browse the repository at this point in the history
  • Loading branch information
omar952 committed Aug 8, 2024
1 parent 97b4fff commit eff84ec
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 20 deletions.
4 changes: 2 additions & 2 deletions .github/actions/test-gradle-project/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ runs:
- uses: ./.github/actions/setup-gradle-cache
- name: Run compile tests
shell: bash
run: ./gradlew :${{inputs.project-name}}:compileJava :${{inputs.project-name}}:compileTestJava
run: ./gradlew --info -Pneo4jVersionOverride=$NEO4J_VERSION_CI :${{inputs.project-name}}:compileJava :${{inputs.project-name}}:compileTestJava
- name: Run tests
shell: bash
run: ./gradlew :${{inputs.project-name}}:check --parallel
run: ./gradlew --info -Pneo4jVersionOverride=$NEO4J_VERSION_CI :${{inputs.project-name}}:check --parallel
- name: Archive test results
uses: actions/upload-artifact@v2
if: always()
Expand Down
60 changes: 48 additions & 12 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,8 @@ on:
branches: [ "dev" ]

env:
DOCKER_ENTERPRISE_URL: ${{ secrets.DOCKER_ENTERPRISE_DEV_URL }}
DOCKER_COMMUNITY_URL: ${{ secrets.DOCKER_COMMUNITY_DEV_URL }}
TEAMCITY_DEV_URL: ${{ secrets.TEAMCITY_DEV_URL }}
TEAMCITY_USER: ${{ secrets.TEAMCITY_USER }}
TEAMCITY_PASSWORD: ${{ secrets.TEAMCITY_PASSWORD }}
ENTERPRISE_TAR: enterprise-docker.tar
COMMUNITY_TAR: community-docker.tar
CODEARTIFACT_DOWNLOAD_URL: ${{ secrets.CODEARTIFACT_DOWNLOAD_URL }}
CODEARTIFACT_USERNAME: ${{ secrets.CODEARTIFACT_USERNAME }}


jobs:
Expand All @@ -28,23 +23,43 @@ jobs:
matrix:
language: [ 'java', 'javascript' ]
steps:
- name: Configure AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-1

- name: Configure CodeArtifact Authentication Token
run: |
CODEARTIFACT_TOKEN=`aws codeartifact get-authorization-token --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --query authorizationToken --output text`
echo "::add-mask::$CODEARTIFACT_TOKEN"
echo "CODEARTIFACT_TOKEN=$CODEARTIFACT_TOKEN" >> "$GITHUB_ENV"
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-jdk
- uses: ./.github/actions/setup-gradle-cache

- name: Determine latest neo4j CI version
run: |
neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ')
echo "neo4j_version_base=$neo4j_version_base"
NEO4J_VERSION_CI=`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 --max-items 1 --query "versions[?starts_with(version,'$neo4j_version_base')] | [0].version" --output text | head -n 1`
echo "NEO4J_VERSION_CI=$NEO4J_VERSION_CI" >> "$GITHUB_ENV"
echo "Found NEO4j_VERSION_CI=$NEO4J_VERSION_CI"
- name: Compile Java
run: |
chmod +x gradlew
./gradlew --no-daemon --init-script init.gradle clean
./gradlew --no-daemon --info -Pneo4jVersionOverride=$NEO4J_VERSION_CI --init-script init.gradle clean
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}

# Autobuild attempts to build any compiled languages
- name: Autobuild
uses: github/codeql-action/autobuild@v2
- name: Compile
run: ./gradlew --info -Pneo4jVersionOverride=$NEO4J_VERSION_CI compileJava compileTestJava

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
Expand All @@ -58,6 +73,19 @@ jobs:
project: [ 'extended', 'extended-it' ]
runs-on: ubuntu-latest
steps:
- name: Configure AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-1

- name: Configure CodeArtifact Authentication Token
run: |
CODEARTIFACT_TOKEN=`aws codeartifact get-authorization-token --domain build-service-live --domain-owner ${{ secrets.AWS_ACCOUNT_ID }} --query authorizationToken --output text`
echo "::add-mask::$CODEARTIFACT_TOKEN"
echo "CODEARTIFACT_TOKEN=$CODEARTIFACT_TOKEN" >> "$GITHUB_ENV"
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
Expand All @@ -70,11 +98,19 @@ jobs:
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}

- name: Determine latest neo4j CI version
run: |
neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ')
echo "neo4j_version_base=$neo4j_version_base"
NEO4J_VERSION_CI=`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 --max-items 1 --query "versions[?starts_with(version,'$neo4j_version_base')] | [0].version" --output text | head -n 1`
echo "NEO4J_VERSION_CI=$NEO4J_VERSION_CI" >> "$GITHUB_ENV"
echo "Found NEO4j_VERSION_CI=$NEO4J_VERSION_CI"
- name: Init gradle
run: |
chmod +x gradlew
./gradlew --init-script init.gradle
./gradlew --info -Pneo4jVersionOverride=$NEO4J_VERSION_CI --init-script init.gradle
- name: Run ${{ matrix.project }} tests
uses: ./.github/actions/test-gradle-project
Expand Down
24 changes: 22 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,17 @@ repositories {
/*maven { // this contains the neo4j 4.0.0-beta jars
url "https://neo4j.bintray.com/community/"
}*/
mavenCentral()
if (System.getenv("CODEARTIFACT_DOWNLOAD_URL") ?: "" != "") {
maven {
url System.getenv('CODEARTIFACT_DOWNLOAD_URL')
credentials {
username System.getenv('CODEARTIFACT_USERNAME')
password System.getenv('CODEARTIFACT_TOKEN')
}
}
} else {
mavenCentral()
}
maven {
url "https://repo.gradle.org/gradle/libs-releases"
}
Expand All @@ -43,7 +53,17 @@ subprojects {
/*maven { // this contains the neo4j 4.0.0-beta jars
url "https://neo4j.bintray.com/community/"
}*/
mavenCentral()
if (System.getenv("CODEARTIFACT_DOWNLOAD_URL") ?: "" != "") {
maven {
url System.getenv('CODEARTIFACT_DOWNLOAD_URL')
credentials {
username System.getenv('CODEARTIFACT_USERNAME')
password System.getenv('CODEARTIFACT_TOKEN')
}
}
} else {
mavenCentral()
}
maven {
url "https://repo.gradle.org/gradle/libs-releases"
}
Expand Down
8 changes: 4 additions & 4 deletions teamcity-repository.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ allprojects {
plugins.withType(JavaLibraryPlugin) {
repositories {
maven {
name = 'teamcity-neo4j-dev'
url = System.getenv('TEAMCITY_DEV_URL')
name = 'aws-codeartifact-repo'
url = System.getenv('CODEARTIFACT_DOWNLOAD_URL')
credentials {
username System.getenv('TEAMCITY_USER')
password System.getenv('TEAMCITY_PASSWORD')
username System.getenv('CODEARTIFACT_USERNAME')
password System.getenv('CODEARTIFACT_TOKEN')
}
authentication {
basic(BasicAuthentication)
Expand Down

0 comments on commit eff84ec

Please sign in to comment.