neilcsmith-net commented on code in PR #6496:
URL: https://github.com/apache/netbeans/pull/6496#discussion_r1341126704


##########
.github/workflows/native-binary-build-lib.profiler.yml:
##########
@@ -73,75 +72,112 @@ on:
 
 
 jobs:
-  build-linux:
+  
+  source:
+
+    name: Build source zip
 
     runs-on: ubuntu-latest
 
     steps:
-    # Step 1
-    #   Checkout source code from repository
-    #
-    - name: Checkout source code
-      uses: actions/checkout@v2
-      with:
-        persist-credentials: false
-    #
-    # Step 2
-    #   Ant build NetBeans lib.profiler module. The sole reason for doing this 
- in the
-    #   context of the native binaries for the Profiler - is to have JNI 
header files
-    #   generated which are needed in step 3.
-    #
-    - name: Generate JNI header files
-      run: |
-         export JDK_HOME=${JAVA_HOME_8_X64}
-         echo "Building NbBuild bootstrap (needed for next step)"
-         ant bootstrap
-         echo "Building lib.profiler module"
-         cd profiler/lib.profiler && ant compile
-    #
-    # Step 3
-    #   Build the native binary from C source code
-    #
-    - name: Build native lib
-      run: |
-         export JDK_HOME=${JAVA_HOME_8_X64}
-         #
-         #
-         echo "Building 64-bit binary"
-         rm -f ../../release/lib/deployed/jdk16/linux-amd64/*.*
-         bash -e -x ./buildnative-linux64.sh
-         ls -l -R ../../release/lib/deployed/jdk16/linux-amd64
-         #
-         #
-         echo "Building 32-bit binary"
-         # Since we are on 64-bit system it means we do not by default have 
support
-         # for creating 32-bit binaries, however this support comes if we 
install
-         # the 'gcc-multilib' package for GNU C/C++.
-         sudo apt-get update
-         sudo apt-get install gcc-multilib
-         rm -f ../../release/lib/deployed/jdk16/linux/*.*
-         bash -e -x ./buildnative-linux.sh
-         ls -l -R ../../release/lib/deployed/jdk16/linux
-         #
-         #
-         echo "done"
-      working-directory: profiler/lib.profiler/native/scripts
-    #
-    # Step 4
-    #   Upload interim build artifacts to GitHub
-    #
-    - name: Upload artifact Linux 64 bit
-      uses: actions/upload-artifact@v2
-      with:
-        name: linux-amd64
-        path: profiler/lib.profiler/release/lib/deployed/jdk16/linux-amd64/
-        if-no-files-found: error
-    - name: Upload artifact Linux 32 bit
-      uses: actions/upload-artifact@v2
-      with:
-        name: linux
-        path: profiler/lib.profiler/release/lib/deployed/jdk16/linux/
-        if-no-files-found: error
+
+      - name: Checkout
+        uses: actions/checkout@v3
+        with:
+          persist-credentials: false
+          submodules: false
+
+      - name: Caching dependencies
+        uses: actions/cache@v3
+        with:
+          path: ~/.hgexternalcache
+          key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', 
'*/*/external/binaries-list') }}
+          restore-keys: ${{ runner.os }}-
+
+      #   Ant build NetBeans lib.profiler module. The sole reason for doing 
this - in the
+      #   context of the native binaries for the Profiler - is to have JNI 
header files
+      - name: Generate JNI header files
+        run: |
+          export JDK_HOME=${JAVA_HOME_8_X64} 
+          echo "Building NbBuild bootstrap (needed for next step)"
+          ant bootstrap
+          echo "Building lib.profiler module"
+          cd profiler/lib.profiler && ant compile
+
+      - name: Generate source bundle
+        run: |
+          SOURCES="profiler/lib.profiler/build/sources"
+          mkdir -p ${SOURCES}/profiler/lib.profiler
+          cp -r profiler/lib.profiler/native/ ${SOURCES}/profiler/lib.profiler/
+          find profiler/lib.profiler/release/lib/deployed -type d -exec mkdir 
-p "${SOURCES}/{}" \; -exec touch "${SOURCES}/{}/PLACEHOLDER" \;
+          cp LICENSE ${SOURCES}/LICENSE
+          cp NOTICE ${SOURCES}/NOTICE
+          ls -l -R ${SOURCES}
+      - name: Upload native sources 
+        uses: actions/upload-artifact@v3
+        with:
+          name: profiler-external-sources-ASF
+          path: profiler/lib.profiler/build/sources/
+          if-no-files-found: error

Review Comment:
   Is that using a shell built-in rather than the CLI tool?  I'd have thought 
that should work the same across shells. :shrug: 
   
   Anyway, we can't use it here because of the voting requirement - need to 
consider a better, and less ugly, solution in future.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to