# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. name: NodeJS on: push: paths: - '.github/workflows/js.yml' - 'ci/docker/*js.dockerfile' - 'ci/scripts/js_*' - 'js/**' pull_request: paths: - '.github/workflows/js.yml' - 'ci/docker/*js.dockerfile' - 'ci/scripts/js_*' - 'js/**' concurrency: group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true env: ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }} ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} jobs: docker: name: AMD64 Debian 11 NodeJS 14 runs-on: ubuntu-latest if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 steps: - name: Checkout Arrow uses: actions/checkout@v2 with: fetch-depth: 0 - name: Fetch Submodules and Tags run: ci/scripts/util_checkout.sh - name: Free Up Disk Space run: ci/scripts/util_cleanup.sh - name: Setup Python uses: actions/setup-python@v1 with: python-version: 3.8 - name: Setup Archery run: pip install -e dev/archery[docker] - name: Execute Docker Build run: | sudo sysctl -w kernel.core_pattern="core.%e.%p" ulimit -c unlimited archery docker run debian-js - name: Docker Push if: success() && github.event_name == 'push' && github.repository == 'apache/arrow' continue-on-error: true run: archery docker push debian-js macos: name: AMD64 MacOS 10.15 NodeJS ${{ matrix.node }} runs-on: macos-latest if: github.event_name == 'push' timeout-minutes: 60 strategy: fail-fast: false matrix: node: [14] steps: - name: Checkout Arrow uses: actions/checkout@v2 with: fetch-depth: 0 - name: Fetch Submodules and Tags shell: bash run: ci/scripts/util_checkout.sh - name: Install NodeJS uses: actions/setup-node@v1 with: node-version: ${{ matrix.node }} - name: Build shell: bash run: ci/scripts/js_build.sh $(pwd) - name: Test shell: bash run: ci/scripts/js_test.sh $(pwd) windows: name: AMD64 Windows 2019 NodeJS ${{ matrix.node }} runs-on: windows-latest if: github.event_name == 'push' strategy: fail-fast: false matrix: node: [14] steps: - name: Checkout Arrow uses: actions/checkout@v1 with: submodules: true - name: Install NodeJS uses: actions/setup-node@v1 with: node-version: ${{ matrix.node }} - name: Build shell: bash run: ci/scripts/js_build.sh $(pwd) - name: Test shell: bash run: ci/scripts/js_test.sh $(pwd)