diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml new file mode 100644 index 0000000..9e6453d --- /dev/null +++ b/.github/workflows/compile.yml @@ -0,0 +1,67 @@ +name: compile-natives + +on: + push: + branches: [ "main" ] + +jobs: + linux: + strategy: + matrix: + include: + - target: x86_64-unknown-linux-gnu + - target: i686-unknown-linux-gnu + deps: apt-get install -y gcc-multilib + - target: aarch64-unknown-linux-gnu + deps: apt-get install -y gcc-aarch64-linux-gnu + - target: armv7-unknown-linux-gnueabihf + deps: apt-get install -y gcc-arm-linux-gnueabihf + + name: Compile ${{ matrix.target }} target + runs-on: ubuntu-20.04 + container: + image: ubuntu:16.04 + steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Install Essentials + run: | + apt-get update -y + apt-get upgrade -y + apt-get install -y curl gcc openjdk-8-jdk-headless + - name: Install Rust toolchain + uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1 + with: + profile: minimal + toolchain: stable + override: true + target: ${{ matrix.target }} + - name: Install linker dependencies + run: ${{ matrix.deps }} + if: ${{ matrix.deps != '' }} + - name: Compile natives + working-directory: native + run: cargo build -r --target=${{ matrix.target }} + windows: + strategy: + matrix: + include: + - target: x86_64-pc-windows-msvc + - target: i686-pc-windows-msvc + + name: Compile ${{ matrix.target }} target + environment: MavenRelease + runs-on: windows-2019 + steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Install Rust toolchain + uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1 + with: + profile: minimal + toolchain: stable + override: true + target: ${{ matrix.target }} + - name: Compile natives + working-directory: native + run: cargo build -r --target=${{ matrix.target }}