44 push :
55 branches :
66 - master
7+ - develop
78 pull_request :
89 branches :
910 - master
11+ - develop
1012jobs :
1113 build-randomx :
1214 runs-on : ${{ matrix.os }}
@@ -18,25 +20,25 @@ jobs:
1820 # Linux - x86_64
1921 - os : ubuntu-latest
2022 arch : x86_64
21- cmake_args : ' -DARCH=x86_64 -DBUILD_SHARED_LIBS=ON -DCMAKE_C_FLAGS="-fPIC"'
23+ cmake_args : ' -DCMAKE_BUILD_TYPE=Release - DARCH=native -DBUILD_SHARED_LIBS=ON -DCMAKE_C_FLAGS="-fPIC"'
2224 artifact_name : ' librandomx_linux_x86_64.so'
2325 output_lib : ' librandomx_linux_x86_64.so'
2426 # macOS - x86_64
2527 - os : macos-latest
2628 arch : x86_64
27- cmake_args : ' -DARCH=x86_64 -DBUILD_SHARED_LIBS=ON'
29+ cmake_args : ' -DCMAKE_BUILD_TYPE=Release - DARCH=native -DBUILD_SHARED_LIBS=ON'
2830 artifact_name : ' librandomx_macos_x86_64.dylib'
2931 output_lib : ' librandomx_macos_x86_64.dylib'
3032 # macOS - aarch64
3133 - os : macos-latest
3234 arch : aarch64
33- cmake_args : ' -DARCH=arm64 -DBUILD_SHARED_LIBS=ON'
35+ cmake_args : ' -DCMAKE_BUILD_TYPE=Release - DARCH=native -DBUILD_SHARED_LIBS=ON'
3436 artifact_name : ' librandomx_macos_aarch64.dylib'
3537 output_lib : ' librandomx_macos_aarch64.dylib'
3638 # Windows - x86_64
3739 - os : windows-latest
3840 arch : x86_64
39- cmake_args : ' -G "MinGW Makefiles" -DARCH=native -DBUILD_SHARED_LIBS=ON'
41+ cmake_args : ' -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release - DARCH=native -DBUILD_SHARED_LIBS=ON'
4042 artifact_name : ' librandomx_windows_x86_64.dll'
4143 output_lib : ' librandomx_windows_x86_64.dll'
4244 exclude :
7476 cd randomx
7577 mkdir build && cd build
7678 cmake .. ${{ matrix.cmake_args }}
77- make
79+ make -j4
7880 mkdir -p ../../src/main/resources/native
7981 if [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then
8082 cp *.so ../../src/main/resources/native/${{ matrix.output_lib }}
@@ -125,57 +127,57 @@ jobs:
125127 runs-on : ubuntu-latest
126128 needs : build-java
127129 steps :
128- - name : Checkout code
129- uses : actions/checkout@v4
130-
131- - name : Install gh CLI
132- run : sudo apt-get install -y gh
133-
134- - name : Extract Version from pom.xml
135- id : extract_version
136- run : |
137- VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
138- echo "VERSION=$VERSION" >> $GITHUB_ENV
139- echo "Extracted version: $VERSION"
140-
141- - name : Download JAR Artifact
142- uses : actions/download-artifact@v4
143- with :
144- name : xdagj-native-randomx-jar
145- path : target/
146-
147- - name : Find Main JAR File
148- id : find_jar
149- run : |
150- JAR_FILE=$(find target/ -type f -name "xdagj-native-randomx-*.jar" | head -n 1)
151- if [ -z "$JAR_FILE" ]; then
152- echo "Error: No main JAR file found!"
153- exit 1
154- fi
155- echo "Found JAR file: $JAR_FILE"
156- echo "jar_file=$JAR_FILE" >> $GITHUB_ENV
157-
158- - name : Generate Release Notes
159- run : |
160- echo "### Changelog" > RELEASE_NOTES.md
161- echo "" >> RELEASE_NOTES.md
162- echo "$(git log --pretty=format:"* %s (%h)" --no-merges $(git rev-list --tags --max-count=1)..HEAD)" >> RELEASE_NOTES.md
163- echo "" >> RELEASE_NOTES.md
164- echo "### Additional Notes" >> RELEASE_NOTES.md
165- echo "- Build improvements." >> RELEASE_NOTES.md
166- echo "- Known issues: None." >> RELEASE_NOTES.md
167-
168- - name : Create Release using gh CLI
169- run : |
170- gh release create "v${{ env.VERSION }}" --title "xdagj-native-randomx v${{ env.VERSION }}" --notes-file RELEASE_NOTES.md
171- env :
172- GITHUB_TOKEN : ${{ secrets.RELEASE_TOKEN }}
173-
174- - name : Rename output file
175- run : mv "target/xdagj-native-randomx-${{ env.VERSION }}.jar" "target/xdagj-native-randomx.jar"
176-
177- - name : Upload JAR using gh CLI
178- run : |
179- gh release upload "v${{ env.VERSION }}" target/xdagj-native-randomx.jar --clobber
180- env :
181- GITHUB_TOKEN : ${{ secrets.RELEASE_TOKEN }}
130+ - name : Checkout code
131+ uses : actions/checkout@v4
132+
133+ - name : Install gh CLI
134+ run : sudo apt-get install -y gh
135+
136+ - name : Extract Version from pom.xml
137+ id : extract_version
138+ run : |
139+ VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
140+ echo "VERSION=$VERSION" >> $GITHUB_ENV
141+ echo "Extracted version: $VERSION"
142+
143+ - name : Download JAR Artifact
144+ uses : actions/download-artifact@v4
145+ with :
146+ name : xdagj-native-randomx-jar
147+ path : target/
148+
149+ - name : Find Main JAR File
150+ id : find_jar
151+ run : |
152+ JAR_FILE=$(find target/ -type f -name "xdagj-native-randomx-*.jar" | head -n 1)
153+ if [ -z "$JAR_FILE" ]; then
154+ echo "Error: No main JAR file found!"
155+ exit 1
156+ fi
157+ echo "Found JAR file: $JAR_FILE"
158+ echo "jar_file=$JAR_FILE" >> $GITHUB_ENV
159+
160+ - name : Generate Release Notes
161+ run : |
162+ echo "### Changelog" > RELEASE_NOTES.md
163+ echo "" >> RELEASE_NOTES.md
164+ echo "$(git log --pretty=format:"* %s (%h)" --no-merges $(git rev-list --tags --max-count=1)..HEAD)" >> RELEASE_NOTES.md
165+ echo "" >> RELEASE_NOTES.md
166+ echo "### Additional Notes" >> RELEASE_NOTES.md
167+ echo "- Build improvements." >> RELEASE_NOTES.md
168+ echo "- Known issues: None." >> RELEASE_NOTES.md
169+
170+ - name : Create Release using gh CLI
171+ run : |
172+ gh release create "v${{ env.VERSION }}" --title "xdagj-native-randomx v${{ env.VERSION }}" --notes-file RELEASE_NOTES.md
173+ env :
174+ GH_TOKEN : ${{ github.token }} # Use the token automatically generated by GitHub
175+
176+ - name : Rename output file
177+ run : mv "target/xdagj-native-randomx-${{ env.VERSION }}.jar" "target/xdagj-native-randomx.jar"
178+
179+ - name : Upload JAR using gh CLI
180+ run : |
181+ gh release upload "v${{ env.VERSION }}" target/xdagj-native-randomx.jar --clobber
182+ env :
183+ GH_TOKEN : ${{ github.token }} # Use the token automatically generated by GitHub
0 commit comments