ci: cross-build macOS x64 on Apple-Silicon runner (avoid scarce macos-13)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
CyberSecurityUP
2026-06-27 09:53:30 -03:00
co-authored by Claude Opus 4.8
parent 64decada3e
commit 669ab44cef
+19 -8
View File
@@ -24,16 +24,19 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- { os: ubuntu-22.04, label: linux-x64, ext: tar.gz } - { os: ubuntu-22.04, label: linux-x64, ext: tar.gz, target: "" }
- { os: ubuntu-24.04-arm, label: linux-arm64, ext: tar.gz } - { os: ubuntu-24.04-arm, label: linux-arm64, ext: tar.gz, target: "" }
- { os: macos-13, label: macos-x64, ext: tar.gz } # macOS x64 is cross-built on an Apple-Silicon runner (no scarce Intel runner).
- { os: macos-14, label: macos-arm64, ext: tar.gz } - { os: macos-14, label: macos-x64, ext: tar.gz, target: x86_64-apple-darwin }
- { os: windows-latest, label: windows-x64, ext: zip } - { os: macos-14, label: macos-arm64, ext: tar.gz, target: "" }
- { os: windows-latest, label: windows-x64, ext: zip, target: "" }
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install Rust - name: Install Rust
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Cache cargo - name: Cache cargo
uses: actions/cache@v4 uses: actions/cache@v4
@@ -46,7 +49,13 @@ jobs:
- name: Build (release) - name: Build (release)
working-directory: neurosploit-rs working-directory: neurosploit-rs
run: cargo build --release shell: bash
run: |
if [ -n "${{ matrix.target }}" ]; then
cargo build --release --target "${{ matrix.target }}"
else
cargo build --release
fi
- name: Resolve tag - name: Resolve tag
id: tag id: tag
@@ -68,11 +77,13 @@ jobs:
./neurosploit run http://testphp.vulnweb.com/ --model anthropic:claude-opus-4-8 -v ./neurosploit run http://testphp.vulnweb.com/ --model anthropic:claude-opus-4-8 -v
Or set NEUROSPLOIT_BASE to this folder and run neurosploit from anywhere. Or set NEUROSPLOIT_BASE to this folder and run neurosploit from anywhere.
EOF EOF
BINDIR="neurosploit-rs/target/release"
if [ -n "${{ matrix.target }}" ]; then BINDIR="neurosploit-rs/target/${{ matrix.target }}/release"; fi
if [ "${{ runner.os }}" = "Windows" ]; then if [ "${{ runner.os }}" = "Windows" ]; then
cp neurosploit-rs/target/release/neurosploit.exe "dist/$NAME/" cp "$BINDIR/neurosploit.exe" "dist/$NAME/"
(cd dist && 7z a "${NAME}.zip" "$NAME" >/dev/null) (cd dist && 7z a "${NAME}.zip" "$NAME" >/dev/null)
else else
cp neurosploit-rs/target/release/neurosploit "dist/$NAME/" cp "$BINDIR/neurosploit" "dist/$NAME/"
(cd dist && tar -czf "${NAME}.tar.gz" "$NAME") (cd dist && tar -czf "${NAME}.tar.gz" "$NAME")
fi fi