diff --git a/.github/workflows/test-js.yaml b/.github/workflows/test-js.yaml new file mode 100644 index 00000000..4456d49c --- /dev/null +++ b/.github/workflows/test-js.yaml @@ -0,0 +1,82 @@ +name: Javascript Tests + +on: + pull_request: + push: + branches: + - main + - releases/** + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + SUI_VERSION: mainnet-v1.25.3 + +jobs: + test-js: + runs-on: ubuntu-latest + + steps: + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y libpq-dev + + - name: Cache Sui binaries + id: cache-sui + uses: actions/cache/restore@v4 + with: + path: sui-binaries-skip/ + key: sui-${{ env.SUI_VERSION }} + + - name: Download and Install Sui + if: steps.cache-sui.outputs.cache-hit != 'true' + run: | + curl -L -o sui-${SUI_VERSION}-ubuntu-x86_64.tgz https://github.com/MystenLabs/sui/releases/download/${SUI_VERSION}/sui-${SUI_VERSION}-ubuntu-x86_64.tgz + tar -xvf sui-${SUI_VERSION}-ubuntu-x86_64.tgz + mkdir -p sui-binaries + mv ./sui ./sui-binaries/ + mv ./sui-debug ./sui-binaries/ + mv ./sui-test-validator ./sui-binaries/ + rm -rf sui-${SUI_VERSION}-ubuntu-x86_64.tgz + + - name: Save Sui binaries + if: steps.cache-sui.outputs.cache-hit != 'true' + id: cache-sui-save + uses: actions/cache/save@v4 + with: + path: sui-binaries/ + key: ${{ steps.cache-sui.outputs.cache-primary-key }} + + - name: Add Sui binaries to PATH + run: | + sudo cp ./sui-binaries/sui /usr/local/bin/sui + sudo cp ./sui-binaries/sui-debug /usr/local/bin/sui-debug + sudo cp ./sui-binaries/sui-test-validator /usr/local/bin/sui-test-validator + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Run Localnet + run: nohup sh -c "sui-test-validator" > nohup.out 2> nohup.err < /dev/null & + + - name: Sleep for 30 seconds + run: sleep 30s + shell: bash + + - name: Test + run: npm run test-js diff --git a/.github/workflows/test.yaml b/.github/workflows/test-move.yaml similarity index 96% rename from .github/workflows/test.yaml rename to .github/workflows/test-move.yaml index 91af4f9f..a38ca306 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test-move.yaml @@ -1,4 +1,4 @@ -name: Tests +name: Move Tests on: pull_request: @@ -15,7 +15,7 @@ env: SUI_VERSION: mainnet-v1.25.3 jobs: - test: + test-move: runs-on: ubuntu-latest steps: @@ -70,4 +70,4 @@ jobs: run: npm run build - name: Test - run: npm run test + run: npm run test-move