From 289d8931a24b9f5391b58bf150d9417f23986d89 Mon Sep 17 00:00:00 2001 From: Ry Racherbaumer Date: Thu, 6 Jun 2024 06:51:07 -0500 Subject: [PATCH] Add node release workflow --- .github/workflows/release-node-bindings.yml | 66 +++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/release-node-bindings.yml diff --git a/.github/workflows/release-node-bindings.yml b/.github/workflows/release-node-bindings.yml new file mode 100644 index 000000000..e4834663b --- /dev/null +++ b/.github/workflows/release-node-bindings.yml @@ -0,0 +1,66 @@ +name: Release Node Bindings + +on: + push: + +jobs: + build-linux: + runs-on: warp-ubuntu-latest-x64-4x + strategy: + fail-fast: false + matrix: + target: [ + x86_64-unknown-linux-gnu, + # aarch64-unknown-linux-gnu, + # x86_64-unknown-linux-musl, + # aarch64-unknown-linux-musl, + ] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: "Cache" + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + ./target/${{ matrix.target }} + key: ${{ matrix.target }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} + - name: Install rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + target: ${{ matrix.target }} + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version-file: ".node-version" + cache-dependency-path: "bindings_node/yarn.lock" + cache: "yarn" + env: + SKIP_YARN_COREPACK_CHECK: "1" + - name: Enable corepack + run: corepack enable + - name: Change directory + run: cd bindings_node + - name: Install dependencies + run: | + cd bindings_node + yarn + - name: Build target + run: | + cd bindings_node + yarn build --target ${{ matrix.target }} + - name: List files + run: | + cd bindings_node + ls -la + + # - name: Upload binary + # uses: actions/upload-artifact@v3 + # with: + # name: ${{ matrix.target }} + # path: bindings_ffi/target/${{ matrix.target }}/release/libxmtpv3.so + # retention-days: 1