diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..6c155ea986 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,16 @@ + +version: 2 + +jobs: + build: + machine: true + +workflows: + version: 2 + build: + jobs: + - build: + filters: + branches: + only: + - /.*-circle-.*/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..f4d0062a08 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ + +branches: + only: + - master + - /.*-travis-.*/ + +os: linux +dist: trusty +language: generic diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..8b6c65d7fb --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,105 @@ +jobs: +- job: osx + pool: + vmImage: macOS-10.14 + timeoutInMinutes: 360 + variables: + CONFIG: osx_python3.8.____cpython + R_CONFIG: + ARROW_VERSION: 2.1.0.dev621 + UPLOAD_PACKAGES: False + steps: + - script: | + echo "Removing homebrew from Azure to avoid conflicts." + curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew + chmod +x ~/uninstall_homebrew + ~/uninstall_homebrew -fq + rm ~/uninstall_homebrew + displayName: Remove homebrew + + - bash: | + echo "##vso[task.prependpath]$CONDA/bin" + sudo chown -R $USER $CONDA + displayName: Add conda to PATH + + - script: | + source activate base + conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=3 conda-build + displayName: 'Add conda-forge-ci-setup=3' + + - script: | + git clone --no-checkout https://github.com/apache/arrow arrow + git -C arrow fetch -t https://github.com/apache/arrow master + git -C arrow checkout FETCH_HEAD + git -C arrow submodule update --init --recursive + displayName: Clone arrow + + - script: | + source activate base + echo "Configuring conda." + + setup_conda_rc ./ ./ ./.ci_support/${CONFIG}.yaml + export CI=azure + source run_conda_forge_build_setup + conda update --yes --quiet --override-channels -c conda-forge -c defaults --all + displayName: Configure conda and conda-build + workingDirectory: arrow/dev/tasks/conda-recipes + env: { + OSX_FORCE_SDK_DOWNLOAD: "1" + } + + - script: | + source activate base + mangle_compiler ./ ./ ./.ci_support/${CONFIG}.yaml + workingDirectory: arrow/dev/tasks/conda-recipes + displayName: Mangle compiler + + - script: | + source activate base + make_build_number ./ ./ ./.ci_support/${CONFIG}.yaml + workingDirectory: arrow/dev/tasks/conda-recipes + displayName: Generate build number clobber file + + - script: | + source activate base + conda build arrow-cpp parquet-cpp \ + -m ./.ci_support/${CONFIG}.yaml \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --output-folder ./build_artifacts + + if [ ! -z "${R_CONFIG}" ]; then + conda build r-arrow \ + -m ./.ci_support/r/${R_CONFIG}.yaml \ + --output-folder ./build_artifacts + fi + workingDirectory: arrow/dev/tasks/conda-recipes + displayName: Build recipes + + # Using github release tries to find a common ancestor between the + # currently pushed tag and the latest tag of the github repository + # (don't know why). + # The tag upload took 43 minutes because of this scan, so use an + # alternative upload script. + - script: | + source activate base + conda install -y click github3.py jinja2 jira pygit2 ruamel.yaml setuptools_scm toolz + python arrow/dev/tasks/crossbow.py \ + --queue-path . \ + --queue-remote https://github.com/ursa-labs/crossbow \ + upload-artifacts \ + --sha nightly-2021-01-15-0-azure-conda-osx-clang-py38 \ + --tag nightly-2021-01-15-0-azure-conda-osx-clang-py38 \ + --pattern "arrow/dev/tasks/conda-recipes/build_artifacts/osx-64/*.tar.bz2" + env: + CROSSBOW_GITHUB_TOKEN: $(CROSSBOW_GITHUB_TOKEN) + displayName: Upload packages as a GitHub release + + + # Upload to custom anaconda channel + - script: | + source activate base + conda install -y anaconda-client + anaconda -t $(CROSSBOW_ANACONDA_TOKEN) upload --force build_artifacts/osx-64/*.tar.bz2 + displayName: Upload packages to Anaconda + workingDirectory: arrow/dev/tasks/conda-recipes + \ No newline at end of file