1 name: "Build Pull Request"
13 runs-on: ubuntu-latest
15 - uses: actions/checkout@v2
17 - name: Setup .NET Core
18 uses: actions/setup-dotnet@v1
20 dotnet-version: 3.1.402
22 - name: Get Changed Files
23 uses: lots0logs/gh-action-get-changed-files@2.1.4
26 token: ${{ secrets.GITHUB_TOKEN }}
30 uses: TizenAPI/tizenfx-build-actions/problem-filter@master
32 run: ./build.sh full /p:BuildWithAnalyzer=True -consoleloggerparameters:NoSummary
33 files: ${{ steps.getChangedFiles.outputs.all }}
35 - name: Save Error Report
36 if: ${{ failure() && steps.build.outputs.errors }}
38 BUILD_ERRORS: ${{ steps.build.outputs.errors }}
41 echo $BUILD_ERRORS > Artifacts/errors.json
46 - name: Checkout APITool
47 uses: actions/checkout@v2
49 repository: TizenAPI/APITool
52 - name: Extract API Spec
54 dotnet run -p .apitool/ \
55 -- print --format=json --include-hidden \
56 -o Artifacts/api.json Artifacts/bin/public/
58 - uses: actions/upload-artifact@v2
62 if-no-files-found: ignore
63 path: Artifacts/*.json
67 runs-on: ubuntu-latest
69 - name: Setup .NET Core
70 uses: actions/setup-dotnet@v1
74 - name: Download Artifacts
75 uses: actions/download-artifact@v2
80 - name: Download Base API Spec
82 uses: TizenAPI/tizenfx-build-actions/s3-download-public@master
84 region: ap-northeast-2
85 bucket: tizenfx-api-specs
86 key: ${{ github.event.pull_request.base.sha }}.json
87 path: Artifacts/base-api.json
89 - uses: actions/checkout@v2
90 if: ${{ steps.base-spec.outputs.code != 200 }}
92 ref: ${{ github.event.pull_request.base.sha }}
95 - name: Build Base Branch
96 if: ${{ steps.base-spec.outputs.code != 200 }}
97 uses: TizenAPI/tizenfx-build-actions/problem-filter@master
100 working-directory: base
102 - name: Checkout APITool
103 if: ${{ steps.base-spec.outputs.code != 200 }}
104 uses: actions/checkout@v2
106 repository: TizenAPI/APITool
109 - name: Extract Base API
110 if: ${{ steps.base-spec.outputs.code != 200 }}
112 dotnet run -p .apitool/ \
113 -- print --format=json --include-hidden \
114 -o Artifacts/base-api.json base/Artifacts/bin/public/
116 - name: Check API Compatibilities
117 uses: TizenAPI/tizenfx-build-actions/apidb-compare@master
119 file: Artifacts/api.json
120 base-file: Artifacts/base-api.json
121 output: Artifacts/api-comp.json
123 - uses: actions/upload-artifact@v2
126 path: Artifacts/api-comp.json