diff options
Diffstat (limited to '.github/workflows/main.yml')
-rw-r--r-- | .github/workflows/main.yml | 108 |
1 files changed, 65 insertions, 43 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4d92f78..8757522 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,10 +32,73 @@ jobs: - name: Build ${{ matrix.lua }} pkg-config if: ${{ matrix.os == 'ubuntu-18.04' && matrix.lua != 'lua54' }} run: | - sudo apt-get update -y + sudo apt-get update sudo apt-get install -y --no-install-recommends liblua5.3-dev liblua5.2-dev liblua5.1-0-dev libluajit-5.1-dev cargo build --release --features "${{ matrix.lua }}" + build_aarch64_cross_macos: + name: Cross-compile to aarch64-apple-darwin + runs-on: macos-11.0 + needs: build + strategy: + matrix: + lua: [lua54, lua53, lua52, lua51, luajit] + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + target: aarch64-apple-darwin + override: true + - name: Cross-compile + run: cargo build --target aarch64-apple-darwin --features "${{ matrix.lua }} async send serialize vendored" + + build_aarch64_cross_ubuntu: + name: Cross-compile to aarch64-unknown-linux-gnu + runs-on: ubuntu-18.04 + needs: build + strategy: + matrix: + lua: [lua54, lua53, lua52, lua51, luajit] + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + target: aarch64-unknown-linux-gnu + override: true + - name: Install ARM compiler toolchain + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu libc6-dev-arm64-cross + shell: bash + - name: Cross-compile + run: cargo build --target aarch64-unknown-linux-gnu --features "${{ matrix.lua }} async send serialize vendored" + shell: bash + + build_armv7_cross_ubuntu: + name: Cross-compile to armv7-unknown-linux-gnueabihf + runs-on: ubuntu-18.04 + needs: build + strategy: + matrix: + lua: [lua54, lua53, lua52, lua51] + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + target: armv7-unknown-linux-gnueabihf + override: true + - name: Install ARM compiler toolchain + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends gcc-arm-linux-gnueabihf libc-dev-armhf-cross + shell: bash + - name: Cross-compile + run: cargo build --target armv7-unknown-linux-gnueabihf --features "${{ matrix.lua }} async send serialize vendored" + shell: bash + test: name: Test runs-on: ${{ matrix.os }} @@ -72,47 +135,6 @@ jobs: TRYBUILD=overwrite cargo test --release --features "${{ matrix.lua }} vendored async send serialize" -- --ignored shell: bash - test_arm_cross_macos: - name: Test Cross compilation for ARM from Intel on macOS - runs-on: macos-11.0 - strategy: - matrix: - lua: [lua54, lua53, lua52, lua51] - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - target: x86_64-apple-darwin - override: true - - name: Add ARM target - run: rustup target add aarch64-apple-darwin - - name: Cross compile - run: cargo build --target aarch64-apple-darwin --features "${{ matrix.lua }} async send serialize vendored" - - test_arm_cross_ubuntu: - name: Test cross compilation for ARM from Intel on Linux - runs-on: ubuntu-18.04 - strategy: - matrix: - lua: [lua54, lua53, lua52, lua51] - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - target: x86_64-unknown-linux-gnu - override: true - - name: Add ARM target - run: rustup target add armv7-unknown-linux-gnueabihf - - name: Install ARM compiler toolchain - run: | - sudo apt-get update -y - sudo apt-get install -y --no-install-recommends gcc-arm-linux-gnueabihf libc-dev-armhf-cross - - name: Cross compile - run: cargo build --target armv7-unknown-linux-gnueabihf --features "${{ matrix.lua }} async send serialize vendored" - shell: bash - test_luajit_macos: name: Test LuaJIT on macOS runs-on: macos-latest @@ -135,7 +157,7 @@ jobs: shell: bash test_modules: - name: Test modules on Linux and macOS + name: Test modules runs-on: ${{ matrix.os }} needs: build strategy: |