name: Injector on: workflow_dispatch: push: paths: - "injector/**" - "src/**" - ".github/workflows/injector.yml" jobs: payload: name: Payload jar runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: "21" - name: Build remapped jar run: | chmod +x ./gradlew ./gradlew remapJar --console=plain - name: Upload jar uses: actions/upload-artifact@v4 with: name: payload-jar # also the Fabric mod: drop prestige-*.jar into mods/ path: | build/libs/prestige-*.jar !build/libs/*-dev.jar !build/libs/*-sources.jar if-no-files-found: error injector: name: Injector (${{ matrix.target }}) needs: payload runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - os: windows-latest target: x86_64-pc-windows-msvc name: windows-x86_64 files: | injector/target/release/PrestigeInjector.exe injector/target/release/prestige_native.dll - os: ubuntu-latest target: x86_64-unknown-linux-gnu name: linux-x86_64 files: | injector/target/release/PrestigeInjector injector/target/release/libprestige_native.so - os: macos-13 target: x86_64-apple-darwin name: macos-x86_64 files: | injector/target/release/PrestigeInjector injector/target/release/libprestige_native.dylib - os: macos-14 target: aarch64-apple-darwin name: macos-aarch64 files: | injector/target/release/PrestigeInjector injector/target/release/libprestige_native.dylib steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }} - name: Download payload jar uses: actions/download-artifact@v4 with: name: payload-jar path: build/libs - name: Build run: cargo build --release --manifest-path injector/Cargo.toml - name: Test run: cargo test --manifest-path injector/Cargo.toml - name: Upload injector uses: actions/upload-artifact@v4 with: name: injector-${{ matrix.name }} path: ${{ matrix.files }} if-no-files-found: error