Skip to content

Add synchronized block for redeploy logic #16

Add synchronized block for redeploy logic

Add synchronized block for redeploy logic #16

Workflow file for this run

name: API Manager Build with Test - Forks
on:
push:
paths-ignore:
- '**/org.wso2.carbon.apimgt.admin.feature/src/main/resources/admin/**'
- '**/org.wso2.carbon.apimgt.publisher.feature/src/main/resources/publisher/**'
- '**/org.wso2.carbon.apimgt.store.feature/src/main/resources/devportal/**'
workflow_dispatch:
jobs:
build-carbon:
runs-on: ubuntu-latest
steps:
- name: Run hostname
run: hostname
- name: Fix host entry
run: sudo echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts
- name: Show hosts
run: cat /etc/hosts
- name: Checkout master
uses: actions/checkout@v3
with:
fetch-depth: '10'
- name: Set up JDK 1.8
uses: actions/setup-java@v2
with:
java-version: 8.0.282+8
distribution: 'adopt'
- uses: actions/setup-node@v3
with:
node-version: '14.x'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2
restore-keys: ${{ runner.os }}-m2
- name: Build carbon-apimgt with Tests, skipping AspectJ
run: mvn clean install --file pom.xml -Dskip.aspectj=true
build-product:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: 1
segment: apim-integration-tests-api-common,apim-integration-tests-api-change-endpoint,apim-integration-tests-api-product,apim-integration-tests-api-lifecycle,apim-integration-tests-api-lifecycle-2
- id: 2
segment: apim-email-secondary-userstore-tests,apim-CORS-tests,apim-publisher-tests
- id: 3
segment: apim-integration-tests-samples,apim-store-tests,apim-grant-type-token-tests,apim-integration-tests-graphql,admin-rest-api-tests,rest-api-tests,apim-mediation-tests,apim-integration-tests-without-restarts,apim-integration-tests-without-advance-throttling,apim-urlsafe-JWT-integration-tests
- id: 4
segment: apim-streaming-api-tests,apim-JWT-integration-tests,apim-integration-tests-external-idp,apim-integration-tests-workflow
- id: 5
segment: apim-websocket-tests,apim-integration-tests-application-sharing,apim-integration-tests-endpoint-security,apim-integration-emailusername-login
fail-fast: false
steps:
- name: Run hostname
run: hostname
- name: Fix host entry
run: sudo echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts
- name: Show hosts
run: cat /etc/hosts
- name: Checkout master
uses: actions/checkout@v3
with:
fetch-depth: '10'
- name: Set up JDK 1.8
uses: actions/setup-java@v2
with:
java-version: 8.0.282+8
distribution: 'adopt'
- uses: actions/setup-node@v3
with:
node-version: '14.x'
- name: Cache maven packages
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2
restore-keys: ${{ runner.os }}-m2
- name: Build carbon-apimgt without tests, skip AspectJ, skip portal builds
run: mvn clean install --file pom.xml -Dmaven.test.skip=true -Dskip.aspectj=true -Dnpm.build.skip=true
- name: Get carbon.apimgt.version
run: mvn help:evaluate -Dexpression=project.version -q -DforceStdout > ../CARBON_APIMGT_VERSION_FILE
- name: Print carbon.apimgt.version
run: |
echo $(cat ../CARBON_APIMGT_VERSION_FILE)
- name: Checkout Product-APIM
uses: actions/checkout@v3
with:
repository: wso2/product-apim
ref: refs/heads/master
fetch-depth: '10'
path: product-apim
- name: Build product-apim with tests
run: mvn clean install -Dcarbon.apimgt.version=$(cat ../CARBON_APIMGT_VERSION_FILE) -fae --file product-apim/pom.xml
env:
PRODUCT_APIM_TESTS: ${{ matrix.segment }}
- name: Prepare upload testng report
if: always()
run: mv product-apim/modules/integration/tests-integration/tests-backend/target/surefire-reports/TEST-TestSuite.xml TEST-TestSuite_${{ matrix.id }}.xml
- name: Archive testng report
if: always()
uses: actions/upload-artifact@v2
with:
name: TEST-TestSuite_${{ matrix.id }}
path: |
TEST-TestSuite_${{ matrix.id }}.xml
if-no-files-found: warn
show-report:
if: ${{ always() && !cancelled() }}
needs: build-product
runs-on: 'ubuntu-latest'
steps:
- uses: actions/download-artifact@v2
with:
path: reports
- name: Publish Test Report
if: always()
uses: scacap/action-surefire-report@v1
with:
report_paths: 'reports/**/TEST-*.xml'