Release 11.0.0.17930
[platform/core/csapi/tizenfx.git] / .github / workflows / build-pull-request.yml
index 2b83fe8..05edec9 100644 (file)
@@ -4,19 +4,20 @@ on:
   pull_request:
     branches:
     - master
+    - DevelNUI
     - API*
 
 jobs:
 
   build:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
 
     - name: Setup .NET Core
-      uses: actions/setup-dotnet@v1
+      uses: actions/setup-dotnet@v3
       with:
-        dotnet-version: 3.1.x
+        dotnet-version: 3.1.402
 
     - name: Get Changed Files
       uses: lots0logs/gh-action-get-changed-files@2.1.4
@@ -43,12 +44,12 @@ jobs:
       run: ./build.sh pack
 
     - name: Checkout APITool
-      uses: actions/checkout@v2
+      uses: actions/checkout@v3
       with:
         repository: TizenAPI/APITool
         path: .apitool
 
-    - name: Extract API
+    - name: Extract API Spec
       run: |
         dotnet run -p .apitool/ \
             -- print --format=json --include-hidden \
@@ -63,39 +64,54 @@ jobs:
 
   check-api:
     needs: [build]
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
-    - uses: actions/checkout@v2
-      with:
-        ref: ${{ github.base_ref }}
-
     - name: Setup .NET Core
-      uses: actions/setup-dotnet@v1
+      uses: actions/setup-dotnet@v3
       with:
         dotnet-version: 3.1.x
 
+    - name: Download Artifacts
+      uses: actions/download-artifact@v2
+      with:
+        name: reports
+        path: Artifacts
+
+    - name: Download Base API Spec
+      id: base-spec
+      uses: TizenAPI/tizenfx-build-actions/s3-download-public@master
+      with:
+        region: ap-northeast-2
+        bucket: tizenfx-api-specs
+        key: ${{ github.event.pull_request.base.sha }}.json
+        path: Artifacts/base-api.json
+
+    - uses: actions/checkout@v3
+      if: ${{ steps.base-spec.outputs.code != 200 }}
+      with:
+        ref: ${{ github.event.pull_request.base.sha }}
+        path: base
+
     - name: Build Base Branch
+      if: ${{ steps.base-spec.outputs.code != 200 }}
       uses: TizenAPI/tizenfx-build-actions/problem-filter@master
       with:
         run: ./build.sh full
+        working-directory: base
 
     - name: Checkout APITool
-      uses: actions/checkout@v2
+      if: ${{ steps.base-spec.outputs.code != 200 }}
+      uses: actions/checkout@v3
       with:
         repository: TizenAPI/APITool
         path: .apitool
 
     - name: Extract Base API
+      if: ${{ steps.base-spec.outputs.code != 200 }}
       run: |
         dotnet run -p .apitool/ \
             -- print --format=json --include-hidden \
-            -o Artifacts/base-api.json Artifacts/bin/public/
-
-    - name: Download Artifacts
-      uses: actions/download-artifact@v2
-      with:
-        name: reports
-        path: Artifacts
+            -o Artifacts/base-api.json base/Artifacts/bin/public/
 
     - name: Check API Compatibilities
       uses: TizenAPI/tizenfx-build-actions/apidb-compare@master