GitHub action fixes timeout error #5798
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ "dev" ] | |
pull_request: | |
branches: [ "dev" ] | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
CODEARTIFACT_URL: ${{ secrets.CODEARTIFACT_URL }} | |
CODEARTIFACT_USERNAME: ${{ secrets.CODEARTIFACT_USERNAME }} | |
ECR_NEO4J_DOCKER_URL: ${{ secrets.ECR_NEO4J_DOCKER_URL }} | |
jobs: | |
code-ql: | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
strategy: | |
fail-fast: false | |
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 Remote Maven Repository, Neo4j Version and Neo4j Docker Images | |
run: | | |
neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ') | |
echo "neo4j_version_base=$neo4j_version_base" | |
echo "Analyzing current branch BRANCH_NAME=$BRANCH_NAME" | |
if [[ $BRANCH_NAME =~ ^5.[0-9]+$ ]]; then | |
NEO4JVERSION="$neo4j_version_base" | |
else | |
NEO4JVERSION="$neo4j_version_base-SNAPSHOT" | |
CODEARTIFACT_DOWNLOAD_URL="$CODEARTIFACT_URL/ci-live" | |
echo "CODEARTIFACT_DOWNLOAD_URL=$CODEARTIFACT_DOWNLOAD_URL" | |
echo "CODEARTIFACT_DOWNLOAD_URL=$CODEARTIFACT_DOWNLOAD_URL" >> "$GITHUB_ENV" | |
fi | |
echo "NEO4JVERSION=$NEO4JVERSION" | |
echo "NEO4JVERSION=$NEO4JVERSION" >> "$GITHUB_ENV" | |
- name: Compile Java | |
run: | | |
chmod +x gradlew | |
./gradlew --no-daemon --info -Pneo4jVersionOverride=$NEO4JVERSION --init-script init.gradle clean | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: ${{ matrix.language }} | |
- name: Compile | |
run: ./gradlew --info -Pneo4jVersionOverride=$NEO4JVERSION compileJava compileTestJava | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
with: | |
category: "/language:${{matrix.language}}" | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
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 | |
with: | |
java-version: '17.0.8' | |
distribution: 'temurin' | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
- name: Determine Remote Maven Repository, Neo4j Version and Neo4j Docker Images | |
run: | | |
neo4j_version_base=$(grep -e "neo4jVersion = .*" build.gradle | cut -d '=' -f 2 | tr -d \'\" | tr -d ' ') | |
echo "neo4j_version_base=$neo4j_version_base" | |
echo "Analyzing current branch BRANCH_NAME=$BRANCH_NAME" | |
if [[ $BRANCH_NAME =~ ^5.[0-9]+$ ]]; then | |
NEO4JVERSION="$neo4j_version_base" | |
NEO4J_ENTERPRISE_IMAGE="neo4j:$NEO4JVERSION-enterprise" | |
NEO4J_COMMUNITY_IMAGE="neo4j:$NEO4JVERSION-community" | |
echo "DOCKER_REMOTE=Dockerhub" >> "$GITHUB_ENV" | |
else | |
NEO4JVERSION="$neo4j_version_base-SNAPSHOT" | |
NEO4J_ENTERPRISE_IMAGE="${{ secrets.ECR_NEO4J_DOCKER_URL }}/build-service/neo4j:$neo4j_version_base-enterprise-debian-nightly" | |
NEO4J_COMMUNITY_IMAGE="${{ secrets.ECR_NEO4J_DOCKER_URL }}/build-service/neo4j:$neo4j_version_base-community-debian-nightly" | |
echo "DOCKER_REMOTE=ECR" >> "$GITHUB_ENV" | |
CODEARTIFACT_DOWNLOAD_URL="$CODEARTIFACT_URL/ci-live" | |
echo "CODEARTIFACT_DOWNLOAD_URL=$CODEARTIFACT_DOWNLOAD_URL" | |
echo "CODEARTIFACT_DOWNLOAD_URL=$CODEARTIFACT_DOWNLOAD_URL" >> "$GITHUB_ENV" | |
fi | |
echo "NEO4JVERSION=$NEO4JVERSION" | |
echo "NEO4JVERSION=$NEO4JVERSION" >> "$GITHUB_ENV" | |
echo "NEO4J_ENTERPRISE_IMAGE=$NEO4J_ENTERPRISE_IMAGE" | |
echo "NEO4J_ENTERPRISE_IMAGE=$NEO4J_ENTERPRISE_IMAGE" >> "$GITHUB_ENV" | |
echo "NEO4J_COMMUNITY_IMAGE=$NEO4J_COMMUNITY_IMAGE" | |
echo "NEO4J_COMMUNITY_IMAGE=$NEO4J_COMMUNITY_IMAGE" >> "$GITHUB_ENV" | |
- name: Login to ECR | |
if: env.DOCKER_REMOTE == 'ECR' | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ secrets.ECR_NEO4J_DOCKER_URL }} | |
username: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
- name: Init gradle | |
run: | | |
chmod +x gradlew | |
./gradlew --info -Pneo4jVersionOverride=$NEO4JVERSION --init-script init.gradle | |
- name: Run ${{ matrix.project }} tests | |
uses: ./.github/actions/test-gradle-project | |
with: | |
project-name: ${{ matrix.project }} |