name: Test and Prebuild on: [push] jobs: build-test-macos: #if: startsWith(github.ref, 'refs/tags/') env: LMDB_DATA_V1: ${{ contains(github.ref, '-v1') }} runs-on: macos-12 steps: - uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: 16 - uses: denoland/setup-deno@v1 with: deno-version: v1.x - run: python3 -m pip install setuptools - run: npm install - run: npm run build #- run: npm run deno-test - run: npm test if: ${{ !contains(github.ref, '-v1') }} - run: npm run prebuild-macos if: startsWith(github.ref, 'refs/tags/') - run: npm run prebuild-macos if: startsWith(github.ref, 'refs/tags/') env: PREBUILD_ARCH: arm64 - run: tar --create --format ustar --verbose --file=prebuild-darwin.tar -C prebuilds . if: startsWith(github.ref, 'refs/tags/') - name: Prebuild uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: prebuild-darwin.tar build-test-win32: #if: startsWith(github.ref, 'refs/tags/') env: LMDB_DATA_V1: ${{ contains(github.ref, '-v1') }} runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: 16 - run: npm install - run: npm run build - run: npm test if: ${{ !contains(github.ref, '-v1') }} - run: npm run prebuild-win32 - run: tar --create --verbose --file=prebuild-win32.tar -C prebuilds . if: startsWith(github.ref, 'refs/tags/') - name: Prebuild uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: prebuild-win32.tar build-centos-7: if: startsWith(github.ref, 'refs/tags/') env: LMDB_DATA_V1: ${{ contains(github.ref, '-v1') }} ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true # workaround for terrible checkout bug: https://github.com/actions/checkout/issues/1809 ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION: node16 ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 runs-on: ubuntu-20.04 container: quay.io/pypa/manylinux2014_x86_64 steps: - uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: 16 - run: yum update -y && yum install -y python3 - run: curl https://raw.githubusercontent.com/kriszyp/musl-bins/main/aarch64-linux-musl-cross.tgz --insecure --output aarch64-linux-musl-cross.tgz - run: tar -xf aarch64-linux-musl-cross.tgz && pwd && ls - run: curl https://raw.githubusercontent.com/kriszyp/musl-bins/main/armv7l-linux-musleabihf-cross.tgz --insecure --output armv7l-linux-musleabihf-cross.tgz - run: tar -xf armv7l-linux-musleabihf-cross.tgz && pwd && ls - run: curl https://raw.githubusercontent.com/kriszyp/musl-bins/main/x86_64-linux-musl-native.tgz --insecure --output x86_64-linux-musl-native.tgz - run: tar -xf x86_64-linux-musl-native.tgz && pwd && ls - run: npm install - run: npm run prebuild-libc-musl if: startsWith(github.ref, 'refs/tags/') env: PREBUILD_LIBC: musl PREBUILD_ARCH: arm64 CC: ${PWD}/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc CXX: ${PWD}/aarch64-linux-musl-cross/bin/aarch64-linux-musl-g++ - run: npm run prebuild-libc-musl if: startsWith(github.ref, 'refs/tags/') env: PREBUILD_LIBC: musl PREBUILD_ARCH: arm PREBUILD_ARMV: 7 CC: ${PWD}/armv7l-linux-musleabihf-cross/bin/armv7l-linux-musleabihf-gcc CXX: ${PWD}/armv7l-linux-musleabihf-cross/bin/armv7l-linux-musleabihf-g++ - run: npm run prebuild-libc-musl if: startsWith(github.ref, 'refs/tags/') env: PREBUILD_LIBC: musl PREBUILD_ARCH: x64 CC: ${PWD}/x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc CXX: ${PWD}/x86_64-linux-musl-native/bin/x86_64-linux-musl-g++ - run: npm run prebuild-libc - run: ls prebuilds/linux-x64 #- run: cp prebuilds/linux-x64/node.abi93.glibc.node prebuilds/linux-x64/node.abi92.glibc.node #- run: npm run prebuildify # env: # ENABLE_FAST_API_CALLS: true - run: npm run build-js - run: chmod 777 test - run: npm test if: ${{ !contains(github.ref, '-v1') }} - run: tar --create --verbose --file=prebuild-linux.tar -C prebuilds . - name: Prebuild if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: files: prebuild-linux.tar test-deno: if: ${{ !contains(github.ref, '-v1') }} runs-on: ubuntu-20.04 container: node:18 steps: - run: echo "LMDB_DATA_V1 is $LMDB_DATA_V1" - uses: actions/checkout@v3 - uses: denoland/setup-deno@v1 with: deno-version: v1.x #- run: sudo apt-get update #- run: sudo apt-get install python - run: npm install - run: npm run build - run: chmod 777 test #- run: npm run deno-test - run: npm test env: TEST_CJS: true build-linux-arm: #if: startsWith(github.ref, 'refs/tags/') env: LMDB_DATA_V1: ${{ contains(github.ref, '-v1') }} runs-on: ubuntu-20.04 #container: quay.io/pypa/manylinux_2_24_x86_64 steps: - run: sudo apt-get update - run: sudo apt-get install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf g++-aarch64-linux-gnu g++-arm-linux-gnueabihf - run: ldd --version ldd - uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: 16 - run: npm install - run: npm run prebuild-libc if: startsWith(github.ref, 'refs/tags/') env: PREBUILD_ARCH: arm64 CC: aarch64-linux-gnu-gcc CXX: aarch64-linux-gnu-g++ - run: npm run prebuild-libc-arm7 env: PREBUILD_ARCH: arm PREBUILD_ARMV: 7 CC: arm-linux-gnueabihf-gcc CXX: arm-linux-gnueabihf-g++ - run: tar --create --verbose --file=prebuild-linux-arm.tar -C prebuilds . - name: Prebuild if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: files: prebuild-linux-arm.tar