tirbofish/dropbear · commit
933e7157392e3c25a1c1606c8509acbfe860b3e6
updates action, still broken
Signature present but could not be verified.
Unverified
@@ -1,18 +1,15 @@ name: Build Executables - on: push: branches: - '**' pull_request: {} - + workflow_dispatch: # Add manual trigger jobs: build: - if: contains(github.event.head_commit.message, 'jarvis, run github actions') + if: contains(github.event.head_commit.message, 'jarvis, run github actions') || github.event_name == 'workflow_dispatch' name: Build for ${{ matrix.os_name }} runs-on: ${{ matrix.os }} - env: - AWS_LC_SYS_PREBUILT_NASM: "1" strategy: matrix: include: @@ -22,104 +19,66 @@ jobs: ext: .exe - os: ubuntu-latest os_name: linux-x64 - target: x86_64-unknown-linux-gnu + target: x86_64-unknown-linux-musl ext: "" - os: macos-latest os_name: macos-arm64 target: aarch64-apple-darwin ext: "" - steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' - - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 with: gradle-version: 'wrapper' - - - name: Make Gradlew Executable (Unix-like systems) + - name: give gradle permissions if: matrix.os != 'windows-latest' run: chmod +x gradlew - - - name: Build Host Library JAR (fatJar) + - name: build fatjar run: ./gradlew fatJar - - - name: Install Dependencies (Windows) - if: matrix.os == 'windows-latest' - run: choco install nasm -y - - - name: Install Dependencies (Linux) - if: matrix.os == 'ubuntu-latest' - run: sudo apt-get update && sudo apt-get install -y nasm - - - name: Install Dependencies (macOS) - if: matrix.os == 'macos-latest' - run: brew install nasm - - - name: Verify NASM (Windows) - if: matrix.os == 'windows-latest' - shell: powershell - run: | - Write-Host "AWS_LC_SYS_PREBUILT_NASM = $env:AWS_LC_SYS_PREBUILT_NASM" - $nasmPath = where.exe nasm - if ($LASTEXITCODE -eq 0) { - Write-Host "System NASM found at $nasmPath" - } else { - Write-Host "System NASM not found (this is okay if aws-lc-rs will use prebuilt NASM)." - } - exit 0 - - name: Install libudev-dev (Linux) + - name: install libudev-dev (Linux) if: matrix.os == 'ubuntu-latest' run: sudo apt-get update && sudo apt-get install -y libudev-dev - - - name: Install assimp-utils (Linux) + - name: install assimp-utils (Linux) if: matrix.os == 'ubuntu-latest' run: sudo apt-get install -y assimp-utils - - - name: Install assimp (macOS) + - name: install assimp (macOS) if: matrix.os == 'macos-latest' run: brew install assimp - - - name: Install Rust + - name: install rust toolchain uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }} - - - name: Build eucalyptus - env: - AWS_LC_SYS_PREBUILT_NASM: ${{ env.AWS_LC_SYS_PREBUILT_NASM }} + - name: install musl rust toolchain (linux) + if: matrix.os == 'ubuntu-latest' + run: rustup target add x86_64-unknown-linux-musl + - name: build eucalyptus-core libs + run: cargo build --release --package eucalyptus-core --target ${{ matrix.target }} + - name: build eucalyptus-editor run: cargo build --release --package eucalyptus-editor --target ${{ matrix.target }} - - - name: Prepare artifact + - name: prepare the artifact run: | mkdir -p dist/libs cp target/${{ matrix.target }}/release/eucalyptus-editor${{ matrix.ext }} dist/ - if [ "${{ matrix.os }}" = "windows-latest" ]; then - # Copy Windows native libs and import library - cp target/${{ matrix.target }}/release/eucalyptus_core.dll dist/ 2>/dev/null || true - cp target/${{ matrix.target }}/release/eucalyptus_core.dll dist/libs/ 2>/dev/null || true - cp target/${{ matrix.target }}/release/eucalyptus_core.dll.lib dist/libs/ 2>/dev/null || true + cp target/release/eucalyptus_core.dll dist/ 2>/dev/null || true + cp target/release/eucalyptus_core.dll.lib dist/ 2>/dev/null || true elif [ "${{ matrix.os }}" = "ubuntu-latest" ]; then - cp target/${{ matrix.target }}/release/libeucalyptus_core.so dist/ 2>/dev/null || true - cp target/${{ matrix.target }}/release/libeucalyptus_core.so dist/libs/ 2>/dev/null || true + cp target/release/libeucalyptus_core.so dist/ 2>/dev/null || true elif [ "${{ matrix.os }}" = "macos-latest" ]; then - cp target/${{ matrix.target }}/release/libeucalyptus_core.dylib dist/ 2>/dev/null || true - cp target/${{ matrix.target }}/release/libeucalyptus_core.dylib dist/libs/ 2>/dev/null || true + cp target/release/libeucalyptus_core.dylib dist/ 2>/dev/null || true cp README.md dist/ fi shell: bash - - - name: Upload artifact + - name: upload uses: actions/upload-artifact@v4 with: name: executables-${{ matrix.os_name }} - path: dist/ + path: dist/