浏览代码

CI: generate matadata info

Signed-off-by: Tianling Shen <[email protected]>
Tianling Shen 4 年之前
父节点
当前提交
b4eade21be
共有 1 个文件被更改,包括 44 次插入7 次删除
  1. 44 7
      .github/workflows/multi-arch-test-build.yml

+ 44 - 7
.github/workflows/multi-arch-test-build.yml

@@ -39,6 +39,7 @@ jobs:
           BRANCH="${GITHUB_BASE_REF#refs/heads/}"
           BRANCH="${GITHUB_BASE_REF#refs/heads/}"
           echo "Building for $BRANCH"
           echo "Building for $BRANCH"
           echo "BRANCH=$BRANCH" >> $GITHUB_ENV
           echo "BRANCH=$BRANCH" >> $GITHUB_ENV
+
       - name: Determine changed packages
       - name: Determine changed packages
         run: |
         run: |
           # only detect packages with changes
           # only detect packages with changes
@@ -61,6 +62,7 @@ jobs:
 
 
           echo "Building $PACKAGES"
           echo "Building $PACKAGES"
           echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
           echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
+
       - name: Build
       - name: Build
         uses: immortalwrt/gh-action-sdk@v1
         uses: immortalwrt/gh-action-sdk@v1
         env:
         env:
@@ -70,17 +72,52 @@ jobs:
       - name: Move created packages to project dir
       - name: Move created packages to project dir
         run: cp bin/packages/${{ matrix.arch }}/packages_ci/*.ipk . || true
         run: cp bin/packages/${{ matrix.arch }}/packages_ci/*.ipk . || true
 
 
+      - name: Collect metadata
+        run: |
+          MERGE_ID=$(git rev-parse --short HEAD)
+          echo "MERGE_ID=$MERGE_ID" >> $GITHUB_ENV
+          echo "BASE_ID=$(git rev-parse --short HEAD^1)" >> $GITHUB_ENV
+          echo "HEAD_ID=$(git rev-parse --short HEAD^2)" >> $GITHUB_ENV
+          PRNUMBER=${GITHUB_REF_NAME%/merge}
+          echo "PRNUMBER=$PRNUMBER" >> $GITHUB_ENV
+          echo "ARCHIVE_NAME=${{matrix.arch}}-PR$PRNUMBER-$MERGE_ID" >> $GITHUB_ENV
+
+      - name: Generate metadata
+        run: |
+          cat << _EOF_ > PKG-INFO
+          Metadata-Version: 2.1
+          Name: ${{env.ARCHIVE_NAME}}
+          Version: $BRANCH
+          Author: $GITHUB_ACTOR
+          Home-page: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/$PRNUMBER
+          Download-URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
+          Summary: $PACKAGES
+          Platform: ${{ matrix.arch }}
+          Packages for ImmortalWrt $BRANCH running on ${{matrix.arch}}, built from PR $PRNUMBER
+          at commit $HEAD_ID, against $BRANCH at commit $BASE_ID, with merge SHA $MERGE_ID.
+          Modified packages:
+          _EOF_
+          for p in $PACKAGES
+          do
+            echo "  "$p >> PKG-INFO
+          done
+          echo >> PKG-INFO
+          echo Full file listing: >> PKG-INFO
+          ls -al *.ipk >> PKG-INFO || true
+          cat PKG-INFO
+
       - name: Store packages
       - name: Store packages
         uses: actions/upload-artifact@v2
         uses: actions/upload-artifact@v2
         with:
         with:
-          name: ${{ matrix.arch}}-${{ github.sha}}-packages
-          path: "*.ipk"
+          name: ${{env.ARCHIVE_NAME}}-packages
+          path: |
+            *.ipk
+            PKG-INFO
 
 
       - name: Store logs
       - name: Store logs
         uses: actions/upload-artifact@v2
         uses: actions/upload-artifact@v2
         with:
         with:
-          name: ${{ matrix.arch}}-${{ github.sha}}-logs
-          path: logs/
-
-      - name: Remove logs
-        run: sudo rm -rf logs/ || true
+          name: ${{env.ARCHIVE_NAME}}-logs
+          path: |
+            logs/
+            PKG-INFO