mbien commented on code in PR #6496:
URL: https://github.com/apache/netbeans/pull/6496#discussion_r1339296430
##########
.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 }}-
Review Comment:
recommending to use the (fairly new) restore action:
`uses: actions/cache/restore@v3 `
(rest can be kept the same)
I think it is better to have only one job with write access to the cache,
makes results more predictable.
This reminds me to update that on the platform job too, since back then the
restore action didn't exist. EDIT: I added it to #6479, should I drop the
changes to this yaml there so that there are no conflicts?
--
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