Skip to content

change the batch feature in l10n agent #1822

change the batch feature in l10n agent

change the batch feature in l10n agent #1822

Workflow file for this run

name: main
on: [pull_request, push]
jobs:
pre-process:
name: Pre process
runs-on: ubuntu-latest
outputs:
were-only-docs-updated: ${{ steps.were-only-docs-updated-action.outputs.were-only-docs-updated }}
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Get commit range
id: get-commit-range-action
uses: ./.github/actions/get-commit-range-action
- name: Were only docs updated
id: were-only-docs-updated-action
uses: ./.github/actions/were-only-docs-updated-action
with:
commit-range: ${{ steps.get-commit-range-action.outputs.commit-range }}
check-header:
name: Check Header
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 2.
- name: Get commit range
id: get-commit-range-action
uses: ./.github/actions/get-commit-range-action
- name: Check header
run: |
git clone --branch=devops https://github.com/vmware/singleton.git devops
cp $GITHUB_WORKSPACE/devops/check_headers.py .
chmod +x check_headers.py
git diff ${{ steps.get-commit-range-action.outputs.commit-range }} --stat
git diff --name-only --diff-filter=d ${{ steps.get-commit-range-action.outputs.commit-range }}
python ./check_headers.py -f "$(git diff --name-only --diff-filter=d ${{ steps.get-commit-range-action.outputs.commit-range }})"
unit-test:
name: Unit Test
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Unit test
run: |
cd $GITHUB_WORKSPACE/g11n-ws
./gradlew test jacocoTestReport
- name: Upload Codecov report for vip-manager-i18n
uses: codecov/codecov-action@v2
with:
files: ./g11n-ws/vip-manager-i18n/build/reports/jacoco.xml
flags: vip-manager-i18n
- name: Upload Codecov report for vip-manager-l10n
uses: codecov/codecov-action@v2
with:
files: ./g11n-ws/vip-manager-l10n/build/reports/jacoco.xml
flags: vip-manager-l10n
- name: Upload Codecov report for vip-manager-lite-i18n
uses: codecov/codecov-action@v2
with:
files: ./g11n-ws/vip-manager-lite-i18n/build/reports/jacoco.xml
flags: vip-manager-lite-i18n
security-analysis:
name: Security Analysis
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
codacy-analysis-cli:
name: Codacy Analysis CLI
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@master
with:
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@main
with:
sarif_file: results.sarif
smoke-test:
name: Smoke Test
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Smoke Test
run: |
git clone --branch=devops https://github.com/vmware/singleton.git devops
cd $GITHUB_WORKSPACE/g11n-ws && ./gradlew build -x test
cp $GITHUB_WORKSPACE/devops/deploy/i18n-service/Dockerfile $GITHUB_WORKSPACE/publish/
cd $GITHUB_WORKSPACE/publish && ls
mv singleton-[0~9]*.jar i18n-service.jar && ls
docker build -t singleton .
docker run -d -p 8090:8090 --name singleton singleton
docker ps
cd $GITHUB_WORKSPACE/devops/autotest/service/i18n-service/APITest && $GITHUB_WORKSPACE/g11n-ws/gradlew build
docker cp l10n singleton:/
str=$(printf '=%.0s' {1..50})
echo $str Smoke Test Start $str
date
locale
java -cp "target/*:resource/*" org.testng.TestNG testng.xml
echo $str Smoke Test End $str
performance-test:
name: Performance Test
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Set up Python3
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Performance Test
run: |
git clone --branch=devops https://github.com/vmware/singleton.git devops
cd $GITHUB_WORKSPACE/g11n-ws && ./gradlew build -x test
cp $GITHUB_WORKSPACE/devops/performancetest/Dockerfile $GITHUB_WORKSPACE/publish/
cd $GITHUB_WORKSPACE/publish && ls
mv singleton-[0~9]*.jar i18n-service.jar && ls
cp -r $GITHUB_WORKSPACE/devops/performancetest/resource/l10n l10n
docker build -t singleton .
docker run -d -p 8090:8090 --name singleton singleton
docker ps
str=$(printf '=%.0s' {1..50})
cd $GITHUB_WORKSPACE/devops/performancetest
pip install -r requirements.txt
python performance.py