ci: create aarch64 build checker
author백종민/Tizen Platform Lab(SR)/삼성전자 <jm0829.baek@samsung.com>
Thu, 20 Jul 2023 01:10:14 +0000 (10:10 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Thu, 20 Jul 2023 01:10:14 +0000 (10:10 +0900)
.github/workflows/gbs-build-p4-aarch64 [new file with mode: 0644]

diff --git a/.github/workflows/gbs-build-p4-aarch64 b/.github/workflows/gbs-build-p4-aarch64
new file mode 100644 (file)
index 0000000..bbbb8ad
--- /dev/null
@@ -0,0 +1,70 @@
+# This is a basic workflow to help you get started with Actions
+
+name: gbs-build-p4-aarch64
+
+# Controls when the workflow will run
+on:
+  pull_request:
+  push:
+    branches:
+      - main
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  gbs-build-p4-aarch64:
+    runs-on: [code-default]
+    container:
+      image: actions-docker.bart.sec.samsung.net/docker-gbs-base
+      options: --user root --privileged
+    
+    # environmental variables to access VD P4. It needs to be updated when the accoung info is changed (e.g. password reset).
+    env:
+      P4PORT: ${{ secrets.P4PORT }}
+      P4USER: ${{ secrets.P4USER }}
+      P4PASSWD: ${{ secrets.P4PASSWD }}
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:          
+      - name: Check out ESPP code
+        uses: code-actions/checkout@v2
+
+      - name: P4 setup
+        uses: code-actions/perforce-setup-p4@v1
+        with:
+          command: login
+          global_options: '-p ${{ secrets.P4PORT }} -u ${{ secrets.P4USER }}'
+
+      # pull down codes (VD TrackRenderer DEV) from VD P4
+      # note that if P4USER is changed, new VD P4 workspace should be created before running this workflow.
+      # If the location of TrackRenderer DEV is changed, the P4 workspace should be updated too.
+      - name: p4 sync TrackRenderer
+        uses: code-actions/perforce-setup-p4@v1
+        env:
+          P4CLIENT: DEV-TZTV-GithubAction-${{ secrets.P4USER }}
+        with:
+          command: sync
+          arguments: -f
+
+      # VD TrackRenderer DEV is built first for the ESPP repository build, to avoid compile error due to header dependency.
+      - name: Build TrackRenderer
+        run: |
+          cd /tmp/p4ws/TIZEN/ONEMAIN/DEV/PLATFORM/MMP_PPI_SRCN/PPI/capi-trackrenderer-tv
+          wget http://repos.vd.sec.samsung.net/tools/vbs/archive/0.25.2/Ubuntu_20.04/vbs-0.25.2.deb
+          sudo dpkg -i vbs-0.25.2.deb
+          export BASE_TIZEN_VER=$(echo ${{ secrets.BASE_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=5)
+          export BASE_TIZEN_REL_VER=$(echo ${{ secrets.BASE_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=7)
+          echo "base info: [$BASE_TIZEN_VER][$BASE_TIZEN_REL_VER]"
+          export PROD_YEAR=$(echo ${{ secrets.PROD_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=7)
+          export PROD_BRANCH=$(echo ${{ secrets.PROD_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=8)
+          export PROD_CHIP=$(echo ${{ secrets.PROD_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=9)
+          export PROD_REL_VER=$(echo ${{ secrets.PROD_REPO_URL_AARCH64 }} | cut --delimiter='/' --fields=10)
+          echo "prod info: [$PROD_YEAR][$PROD_BRANCH][$PROD_CHIP][$PROD_REL_VER]"
+          vbs build -A aarch64 -R ${{ secrets.BASE_REPO_URL_AARCH64 }} -R ${{ secrets.PROD_REPO_URL_AARCH64 }} --include-all --skip-p4check --clean
+      # Finally, build this repository's ESPP code. No need of --clean option, we reuse previously built GBS-ROOT for speed-up
+      - name: Build ESPP
+        run: |
+          cd -
+          gbs build -A aarch64 -R ${{ secrets.BASE_REPO_URL_AARCH64 }} -R ${{ secrets.PROD_REPO_URL_AARCH64 }} --include-all