Skip to content

Merge branch 'AC-410-First-testing-Enhancements' into dev #139

Merge branch 'AC-410-First-testing-Enhancements' into dev

Merge branch 'AC-410-First-testing-Enhancements' into dev #139

name: SonarCloud Analysis
on:
push:
branches: [dev, staging, main]
pull_request:
branches: [dev, staging, main]
jobs:
sonarcloud:
runs-on: ubuntu-latest
steps:
# Step 1: Set up JDK 17
- name: Set up JDK 17 for SonarCloud analysis
uses: actions/setup-java@v2
with:
java-version: "17"
distribution: "temurin"
# Step 2: Verify Java version
- name: Verify Java version
run: java -version
# Step 3: Set JAVA_HOME and SONAR_JAVA_HOME
- name: Set JAVA_HOME and SONAR_JAVA_HOME
run: |
echo "JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))" >> $GITHUB_ENV
echo "SONAR_JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
# Step 4: Checkout repository
- name: Checkout repository
uses: actions/checkout@v2
# Step 5: Configure AWS credentials
- name: Configure AWS credentials
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: us-east-1
# Step 6: Install Angular dependencies
- name: Install dependencies
run: |
npm install -g @angular/cli
npm install
working-directory: ./research-indicators
# ✅ Step 7: Load environment.ts from Secrets Manager
- name: Create environment.ts and environment.dev.ts from AWS Secrets Manager
run: |
aws secretsmanager get-secret-value \
--secret-id dev/app/frontend/alliance/reportingtool \
--query SecretString \
--output text > src/environments/environment.ts
cp src/environments/environment.ts src/environments/environment.dev.ts
working-directory: ./research-indicators
# Step 8: Install SonarScanner
- name: Install SonarScanner
run: npm install -g sonar-scanner
# Step 9: Run SonarCloud analysis
- name: Run SonarCloud analysis
run: |
java -version
npm run build
sonar-scanner \
-Dsonar.projectKey=AllianceBioversityCIAT_alliance-research-indicators-client \
-Dsonar.organization=alliancebioversityciat \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=${{ secrets.SONAR_TOKEN }} \
-Dsonar.exclusions=**/environments/**,**/*.spec.ts \
-Dsonar.coverage.exclusions=**
working-directory: ./research-indicators
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}