summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2025-07-10 15:22:07 +0200
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2025-07-10 15:22:07 +0200
commita8e3d474bc57cc5cb67ac971b56d7004b0ae6c81 (patch)
tree6c92075b915fa8b0ec5ab2cd555fb78cf5a32f6d
parent0b5e1a8f1c082253b29034f634240373359212f6 (diff)
chore: refactor github actions and Jenkinsfile to only execute when required
-rw-r--r--.github/workflows/full_check.yaml455
-rw-r--r--contrib/depends/Jenkinsfile26
2 files changed, 223 insertions, 258 deletions
diff --git a/.github/workflows/full_check.yaml b/.github/workflows/full_check.yaml
index 8b0563a..e4a8c0b 100644
--- a/.github/workflows/full_check.yaml
+++ b/.github/workflows/full_check.yaml
@@ -7,6 +7,9 @@ jobs:
lib_mingw:
strategy:
fail-fast: false
+ matrix:
+ coin: [monero, wownero]
+ target: [x86_64-w64-mingw32, i686-w64-mingw32]
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
@@ -30,25 +33,16 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
- key: ${{ github.job }}
- - name: x86_64-w64-mingw32
+ key: ${{ github.job }}-${{ matrix.coin }}-${{ matrix.target }}
+ - name: Build ${{ matrix.coin }} for ${{ matrix.target }}
run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero x86_64-w64-mingw32 -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero x86_64-w64-mingw32 -j$(nproc)
- - name: i686-w64-mingw32
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero i686-w64-mingw32 -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero i686-w64-mingw32 -j$(nproc)
+ env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh ${{ matrix.coin }} ${{ matrix.target }} -j$(nproc)
- name: rename artifacts
run: |
- mkdir release/gh/
- for i in release/monero/*
- do
- cp "$i" "release/gh/monero_$(basename $i)"
- done
- for i in release/wownero/*
+ mkdir -p release/gh/
+ for i in release/${{ matrix.coin }}/*
do
- cp "$i" "release/gh/wownero_$(basename $i)"
+ cp "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
done
- name: Release
uses: softprops/action-gh-release@v2
@@ -59,19 +53,16 @@ jobs:
- name: Upload lib
uses: actions/upload-artifact@v4
with:
- name: mingw monero
- path: release/monero
- - name: Upload lib wownero
- uses: actions/upload-artifact@v4
- with:
- name: mingw wownero
- path: release/wownero
+ name: mingw-${{ matrix.coin }}-${{ matrix.target }}
+ path: release/${{ matrix.coin }}
+
lib_android:
strategy:
fail-fast: false
+ matrix:
+ coin: [monero, wownero, zano]
+ target: [x86_64-linux-android, armv7a-linux-androideabi, aarch64-linux-android]
runs-on: ubuntu-22.04
- # container:
- # image: debian:bookworm
steps:
- name: Free Disk Space
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
@@ -103,36 +94,16 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
- key: ${{ github.job }}
- - name: monero
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero x86_64-linux-android -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero armv7a-linux-androideabi -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero aarch64-linux-android -j$(nproc)
- - name: wownero
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero aarch64-linux-android -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero x86_64-linux-android -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero armv7a-linux-androideabi -j$(nproc)
- - name: zano
+ key: ${{ github.job }}-${{ matrix.coin }}-${{ matrix.target }}
+ - name: Build ${{ matrix.coin }} for ${{ matrix.target }}
run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano x86_64-linux-android -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano aarch64-linux-android -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano armv7a-linux-androideabi -j$(nproc)
+ env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh ${{ matrix.coin }} ${{ matrix.target }} -j$(nproc)
- name: rename artifacts
run: |
- mkdir release/gh/
- for i in release/monero/*
+ mkdir -p release/gh/
+ for i in release/${{ matrix.coin }}/*
do
- cp "$i" "release/gh/monero_$(basename $i)"
- done
- for i in release/wownero/*
- do
- cp "$i" "release/gh/wownero_$(basename $i)"
- done
- for i in release/zano/*
- do
- cp "$i" "release/gh/zano_$(basename $i)"
+ cp "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
done
- name: Release
uses: softprops/action-gh-release@v2
@@ -140,28 +111,22 @@ jobs:
with:
files: release/gh/*
token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
- - name: Upload lib monero
- uses: actions/upload-artifact@v4
- with:
- name: android monero
- path: release/monero
- - name: Upload lib wownero
- uses: actions/upload-artifact@v4
- with:
- name: android wownero
- path: release/wownero
- - name: Upload lib zano
+ - name: Upload lib
uses: actions/upload-artifact@v4
with:
- name: android zano
- path: release/zano
+ name: android-${{ matrix.coin }}-${{ matrix.target }}
+ path: release/${{ matrix.coin }}
- name: remove android_ndk
run: |
rm -rf contrib/depends/built/*/android_ndk
rm -rf contrib/depends/sources/android-ndk-r26d-linux.zip
+
lib_linux:
strategy:
fail-fast: false
+ matrix:
+ coin: [monero, wownero, zano]
+ target: [x86_64-linux-gnu, aarch64-linux-gnu, i686-linux-gnu]
runs-on: ubuntu-latest
container:
image: debian:bullseye
@@ -185,36 +150,16 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
- key: ${{ github.job }}
- - name: x86_64-linux-gnu
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero x86_64-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero x86_64-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano x86_64-linux-gnu -j$(nproc)
- - name: aarch64-linux-gnu
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero aarch64-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero aarch64-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano aarch64-linux-gnu -j$(nproc)
- - name: i686-linux-gnu
+ key: ${{ github.job }}-${{ matrix.coin }}-${{ matrix.target }}
+ - name: Build ${{ matrix.coin }} for ${{ matrix.target }}
run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero i686-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero i686-linux-gnu -j$(nproc)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano i686-linux-gnu -j$(nproc)
+ env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh ${{ matrix.coin }} ${{ matrix.target }} -j$(nproc)
- name: rename artifacts
run: |
- mkdir release/gh/
- for i in release/monero/*
- do
- cp "$i" "release/gh/monero_$(basename $i)"
- done
- for i in release/wownero/*
- do
- cp "$i" "release/gh/wownero_$(basename $i)"
- done
- for i in release/zano/*
+ mkdir -p release/gh/
+ for i in release/${{ matrix.coin }}/*
do
- cp "$i" "release/gh/zano_$(basename $i)"
+ cp "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
done
- name: Release
uses: softprops/action-gh-release@v2
@@ -225,21 +170,15 @@ jobs:
- name: Upload lib
uses: actions/upload-artifact@v4
with:
- name: linux monero
- path: release/monero
- - name: Upload lib wownero
- uses: actions/upload-artifact@v4
- with:
- name: linux wownero
- path: release/wownero
- - name: Upload lib zano
- uses: actions/upload-artifact@v4
- with:
- name: linux zano
- path: release/zano
+ name: linux-${{ matrix.coin }}-${{ matrix.target }}
+ path: release/${{ matrix.coin }}
+
lib_macos:
strategy:
fail-fast: false
+ matrix:
+ coin: [monero, wownero, zano]
+ target: [aarch64-apple-darwin, x86_64-apple-darwin]
name: macos build
runs-on: macos-14
steps:
@@ -266,31 +205,16 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
- key: ${{ github.job }}
- - name: build (aarch64-apple-darwin)
+ key: ${{ github.job }}-${{ matrix.coin }}-${{ matrix.target }}
+ - name: Build ${{ matrix.coin }} for ${{ matrix.target }}
run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero aarch64-apple-darwin -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero aarch64-apple-darwin -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano aarch64-apple-darwin -j$(sysctl -n hw.logicalcpu)
- - name: build (x86_64-apple-darwin)
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero x86_64-apple-darwin -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero x86_64-apple-darwin -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano x86_64-apple-darwin -j$(sysctl -n hw.logicalcpu)
+ env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh ${{ matrix.coin }} ${{ matrix.target }} -j$(sysctl -n hw.logicalcpu)
- name: rename artifacts
run: |
- mkdir release/gh/
- for i in release/monero/*
- do
- cp "$i" "release/gh/monero_$(basename $i)"
- done
- for i in release/wownero/*
+ mkdir -p release/gh/
+ for i in release/${{ matrix.coin }}/*
do
- cp "$i" "release/gh/wownero_$(basename $i)"
- done
- for i in release/zano/*
- do
- cp "$i" "release/gh/zano_$(basename $i)"
+ cp "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
done
- name: Release
uses: softprops/action-gh-release@v2
@@ -301,21 +225,15 @@ jobs:
- name: Upload lib
uses: actions/upload-artifact@v4
with:
- name: macos monero
- path: release/monero
- - name: Upload lib wownero
- uses: actions/upload-artifact@v4
- with:
- name: macos wownero
- path: release/wownero
- - name: Upload lib zano
- uses: actions/upload-artifact@v4
- with:
- name: macos zano
- path: release/zano
+ name: macos-${{ matrix.coin }}-${{ matrix.target }}
+ path: release/${{ matrix.coin }}
+
lib_ios:
strategy:
fail-fast: false
+ matrix:
+ coin: [monero, wownero, zano]
+ target: [aarch64-apple-ios, aarch64-apple-iossimulator]
name: ios build
runs-on: macos-15
steps:
@@ -342,33 +260,16 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
- key: ${{ github.job }}
- - name: build (aarch64-apple-ios)
- run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero aarch64-apple-ios -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero aarch64-apple-ios -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano aarch64-apple-ios -j$(sysctl -n hw.logicalcpu)
-
- - name: build (aarch64-apple-iossimulator)
+ key: ${{ github.job }}-${{ matrix.coin }}-${{ matrix.target }}
+ - name: Build ${{ matrix.coin }} for ${{ matrix.target }}
run: |
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh monero aarch64-apple-iossimulator -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh wownero aarch64-apple-iossimulator -j$(sysctl -n hw.logicalcpu)
- env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh zano aarch64-apple-iossimulator -j$(sysctl -n hw.logicalcpu)
-
+ env DEPENDS_UNTRUSTED_FAST_BUILDS=forced ./build_single.sh ${{ matrix.coin }} ${{ matrix.target }} -j$(sysctl -n hw.logicalcpu)
- name: rename artifacts
run: |
- mkdir release/gh/
- for i in release/monero/*
- do
- cp "$i" "release/gh/monero_$(basename $i)"
- done
- for i in release/wownero/*
+ mkdir -p release/gh/
+ for i in release/${{ matrix.coin }}/*
do
- cp "$i" "release/gh/wownero_$(basename $i)"
- done
- for i in release/zano/*
- do
- cp "$i" "release/gh/zano_$(basename $i)"
+ cp "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
done
- name: Release
uses: softprops/action-gh-release@v2
@@ -379,100 +280,123 @@ jobs:
- name: Upload lib
uses: actions/upload-artifact@v4
with:
- name: ios monero
- path: release/monero
- - name: Upload lib wownero
- uses: actions/upload-artifact@v4
- with:
- name: ios wownero
- path: release/wownero
- - name: Upload lib zano
- uses: actions/upload-artifact@v4
- with:
- name: ios zano
- path: release/zano
+ name: ios-${{ matrix.coin }}-${{ matrix.target }}
+ path: release/${{ matrix.coin }}
+
bulk_lib_release:
name: create single release file
runs-on: ubuntu-latest
- needs: [
- lib_mingw, lib_android, lib_linux, lib_macos, lib_ios
- ]
+ needs: [lib_mingw, lib_android, lib_linux, lib_macos, lib_ios]
+ strategy:
+ matrix:
+ coin: [monero, wownero, zano]
+ platform: [android, ios, linux, macos]
+ include:
+ - coin: monero
+ platform: mingw
+ - coin: wownero
+ platform: mingw
steps:
- - uses: actions/download-artifact@v4
- with:
- name: android monero
- path: release/monero
- - uses: actions/download-artifact@v4
- with:
- name: android wownero
- path: release/wownero
- - uses: actions/download-artifact@v4
- with:
- name: android zano
- path: release/zano
- - uses: actions/download-artifact@v4
- with:
- name: ios monero
- path: release/monero
- - uses: actions/download-artifact@v4
- with:
- name: ios wownero
- path: release/wownero
- - uses: actions/download-artifact@v4
- with:
- name: ios zano
- path: release/zano
- - uses: actions/download-artifact@v4
- with:
- name: linux monero
- path: release/monero
- - uses: actions/download-artifact@v4
- with:
- name: linux wownero
- path: release/wownero
- - uses: actions/download-artifact@v4
- with:
- name: linux zano
- path: release/zano
- - uses: actions/download-artifact@v4
- with:
- name: macos monero
- path: release/monero
- - uses: actions/download-artifact@v4
- with:
- name: macos wownero
- path: release/wownero
- - uses: actions/download-artifact@v4
- with:
- name: macos zano
- path: release/zano
- - uses: actions/download-artifact@v4
- with:
- name: mingw monero
- path: release/monero
- - uses: actions/download-artifact@v4
+ - name: Create release directory
+ run: mkdir -p release/${{ matrix.coin }}
+
+ - name: Download Android artifacts
+ if: matrix.platform == 'android'
+ uses: actions/download-artifact@v4
+ with:
+ pattern: android-${{ matrix.coin }}-*
+ path: temp-android
+ merge-multiple: true
+
+ - name: Download iOS artifacts
+ if: matrix.platform == 'ios'
+ uses: actions/download-artifact@v4
+ with:
+ pattern: ios-${{ matrix.coin }}-*
+ path: temp-ios
+ merge-multiple: true
+
+ - name: Download Linux artifacts
+ if: matrix.platform == 'linux'
+ uses: actions/download-artifact@v4
+ with:
+ pattern: linux-${{ matrix.coin }}-*
+ path: temp-linux
+ merge-multiple: true
+
+ - name: Download macOS artifacts
+ if: matrix.platform == 'macos'
+ uses: actions/download-artifact@v4
+ with:
+ pattern: macos-${{ matrix.coin }}-*
+ path: temp-macos
+ merge-multiple: true
+
+ - name: Download MinGW artifacts
+ if: matrix.platform == 'mingw' && (matrix.coin == 'monero' || matrix.coin == 'wownero')
+ uses: actions/download-artifact@v4
+ with:
+ pattern: mingw-${{ matrix.coin }}-*
+ path: temp-mingw
+ merge-multiple: true
+
+ - name: Copy artifacts to release directory
+ run: |
+ if [ -d "temp-${{ matrix.platform }}" ]; then
+ cp -r temp-${{ matrix.platform }}/* release/${{ matrix.coin }}/
+ fi
+
+ - name: Upload consolidated artifacts
+ uses: actions/upload-artifact@v4
with:
- name: mingw wownero
- path: release/wownero
+ name: ${{ matrix.platform }}-${{ matrix.coin }}-all
+ path: release/${{ matrix.coin }}
+
+ final_bulk_release:
+ name: create final release bundle
+ runs-on: ubuntu-latest
+ needs: [bulk_lib_release]
+ steps:
+ - name: Create release directory
+ run: mkdir -p release/{monero,wownero,zano}
+
+ - name: Download all consolidated artifacts
+ uses: actions/download-artifact@v4
+ with:
+ pattern: "*-all"
+ path: temp-all
+
+ - name: Reorganize artifacts
+ run: |
+ # Move all artifacts to their respective coin directories
+ for coin in monero wownero zano; do
+ find temp-all -name "*-${coin}-all" -type d | while read dir; do
+ if [ -d "$dir" ]; then
+ cp -r "$dir"/* "release/${coin}/" 2>/dev/null || true
+ fi
+ done
+ done
+
- name: zip release dir
run: zip -r release-bundle.zip release
+
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: release-bundle.zip
token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
- - name: Upload lib
+
+ - name: Upload final bundle
uses: actions/upload-artifact@v4
with:
name: release-bulk
path: release
+
deno_monerots_test_linux:
name: test ts library
runs-on: ubuntu-24.04
- needs: [
- lib_linux
- ]
+ needs: [lib_linux]
steps:
- uses: actions/checkout@v4
with:
@@ -480,10 +404,13 @@ jobs:
submodules: recursive
- uses: actions/download-artifact@v4
with:
- name: linux monero
- path: release/monero
+ pattern: linux-monero-x86_64-linux-gnu
+ path: temp-linux-monero
+ merge-multiple: true
- name: unpack and move monero_c
run: |
+ mkdir -p release/monero
+ cp -r temp-linux-monero/* release/monero/
unxz -f -k release/*/*.xz
- uses: denoland/setup-deno@v1
with:
@@ -507,9 +434,7 @@ jobs:
fail-fast: false
matrix:
coin: [monero, wownero]
- needs: [
- lib_linux
- ]
+ needs: [lib_linux]
runs-on: ubuntu-24.04
steps:
- uses: denoland/setup-deno@v2
@@ -523,8 +448,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
- name: linux ${{ matrix.coin }}
- path: release/${{ matrix.coin }}
+ pattern: linux-${{ matrix.coin }}-*
+ path: temp-linux-${{ matrix.coin }}
+ merge-multiple: true
+
+ - name: Setup release directory
+ run: |
+ mkdir -p release/${{ matrix.coin }}
+ cp -r temp-linux-${{ matrix.coin }}/* release/${{ matrix.coin }}/
- name: Run regression tests
run: COIN="${{ matrix.coin }}" deno test -A tests/regression.test.ts
@@ -534,9 +465,7 @@ jobs:
strategy:
matrix:
coin: [monero, wownero]
- needs: [
- lib_macos
- ]
+ needs: [lib_macos]
runs-on: macos-14
steps:
- uses: denoland/setup-deno@v2
@@ -550,8 +479,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
- name: macos ${{ matrix.coin }}
- path: release/${{ matrix.coin }}
+ pattern: macos-${{ matrix.coin }}-*
+ path: temp-macos-${{ matrix.coin }}
+ merge-multiple: true
+
+ - name: Setup release directory
+ run: |
+ mkdir -p release/${{ matrix.coin }}
+ cp -r temp-macos-${{ matrix.coin }}/* release/${{ matrix.coin }}/
- name: Run regression tests
run: COIN="${{ matrix.coin }}" deno test -A tests/regression.test.ts
@@ -561,9 +496,7 @@ jobs:
strategy:
matrix:
coin: [monero, wownero]
- needs: [
- lib_linux
- ]
+ needs: [lib_linux]
runs-on: ubuntu-24.04
steps:
- uses: denoland/setup-deno@v2
@@ -577,8 +510,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
- name: linux ${{ matrix.coin }}
- path: release/${{ matrix.coin }}
+ pattern: linux-${{ matrix.coin }}-*
+ path: temp-linux-${{ matrix.coin }}
+ merge-multiple: true
+
+ - name: Setup release directory
+ run: |
+ mkdir -p release/${{ matrix.coin }}
+ cp -r temp-linux-${{ matrix.coin }}/* release/${{ matrix.coin }}/
- name: Run integration tests
run: COIN="${{ matrix.coin }}" deno test -A tests/integration.test.ts
@@ -587,15 +526,12 @@ jobs:
SECRET_WALLET_MNEMONIC: ${{ secrets.SECRET_WALLET_MNEMONIC }}
SECRET_WALLET_RESTORE_HEIGHT: ${{ secrets.SECRET_WALLET_RESTORE_HEIGHT }}
-
integration_tests_macos:
name: macos integration tests
strategy:
matrix:
coin: [monero, wownero]
- needs: [
- lib_macos
- ]
+ needs: [lib_macos]
runs-on: macos-14
steps:
- uses: denoland/setup-deno@v2
@@ -609,8 +545,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
- name: macos ${{ matrix.coin }}
- path: release/${{ matrix.coin }}
+ pattern: macos-${{ matrix.coin }}-*
+ path: temp-macos-${{ matrix.coin }}
+ merge-multiple: true
+
+ - name: Setup release directory
+ run: |
+ mkdir -p release/${{ matrix.coin }}
+ cp -r temp-macos-${{ matrix.coin }}/* release/${{ matrix.coin }}/
- name: Run integration tests
run: COIN="${{ matrix.coin }}" deno test -A tests/integration.test.ts
@@ -619,13 +561,10 @@ jobs:
SECRET_WALLET_MNEMONIC: ${{ secrets.SECRET_WALLET_MNEMONIC }}
SECRET_WALLET_RESTORE_HEIGHT: ${{ secrets.SECRET_WALLET_RESTORE_HEIGHT }}
-
comment_pr:
name: comment on pr
runs-on: ubuntu-latest
- needs: [
- lib_mingw, lib_android, lib_linux, lib_macos, lib_ios,
- ]
+ needs: [lib_mingw, lib_android, lib_linux, lib_macos, lib_ios]
steps:
- uses: actions/github-script@v7
continue-on-error: true
diff --git a/contrib/depends/Jenkinsfile b/contrib/depends/Jenkinsfile
index 7b73319..e7661af 100644
--- a/contrib/depends/Jenkinsfile
+++ b/contrib/depends/Jenkinsfile
@@ -25,7 +25,33 @@ pipeline {
}
stages {
+ stage('Check Changes') {
+ agent any
+ steps {
+ script {
+ def changes = sh(
+ script: "git diff --name-only HEAD~1 HEAD | grep '^contrib/depends' || echo 'NO_CHANGES'",
+ returnStdout: true
+ ).trim()
+
+ if (changes == 'NO_CHANGES') {
+ echo "No changes detected in contrib/depends directory. Skipping build."
+ currentBuild.result = 'NOT_BUILT'
+ return
+ } else {
+ echo "Changes detected in contrib/depends directory:"
+ echo changes
+ }
+ }
+ }
+ }
+
stage('Build Dependencies') {
+ when {
+ not {
+ equals expected: 'NOT_BUILT', actual: currentBuild.result
+ }
+ }
parallel {
stage('Linux Builds') {
agent {