Skip to content

Commit

Permalink
Add local composite action miniforge-setup
Browse files Browse the repository at this point in the history
  • Loading branch information
hcho3 committed Nov 26, 2024
1 parent 54902c2 commit 4fd8d84
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 80 deletions.
15 changes: 3 additions & 12 deletions .github/workflows/jvm_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,37 +195,28 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, macos-13]

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'

- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: jvm_tests
environment-file: ops/conda_env/jvm_tests.yml
use-mamba: true

environment-name: minimal
environment-file: ops/conda_env/minimal.yml
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('./jvm-packages/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-${{ hashFiles('./jvm-packages/pom.xml') }}

- name: Test XGBoost4J (Core)
run: |
cd jvm-packages
mvn test -B -pl :xgboost4j_2.12
- name: Publish artifact xgboost4j.dll to S3
run: |
cd lib/
Expand Down
16 changes: 2 additions & 14 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,10 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: python_lint
environment-name: python_lint
environment-file: ops/conda_env/python_lint.yml
use-mamba: true
- name: Display Conda env
shell: bash -el {0}
run: |
conda info
conda list
- name: Run mypy
shell: bash -el {0}
run: |
Expand Down Expand Up @@ -110,23 +102,19 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'

- uses: r-lib/actions/setup-r@v2
with:
r-version: "release"

- name: Cache R packages
uses: actions/cache@v4
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ runner.os }}-r-release-7-${{ hashFiles('R-package/DESCRIPTION') }}
restore-keys: ${{ runner.os }}-r-release-7-${{ hashFiles('R-package/DESCRIPTION') }}

- name: Install dependencies
shell: Rscript {0}
run: |
source("./R-package/tests/helper_scripts/install_deps.R")
- name: Run lintr
run: |
MAKEFLAGS="-j$(nproc)" R CMD INSTALL R-package/
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/misc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,9 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: cpp_test
environment-name: cpp_test
environment-file: ops/conda_env/cpp_test.yml
use-mamba: true
- name: Display Conda env
run: |
conda info
conda list
- name: Build and run C API demo with shared
run: bash ops/pipeline/test-c-api-demo.sh
25 changes: 4 additions & 21 deletions .github/workflows/python_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,10 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: sdist_test
environment-name: sdist_test
environment-file: ops/conda_env/sdist_test.yml
use-mamba: true
- name: Display Conda env
run: |
conda info
conda list
- name: Install extra package for MacOS
run: |
mamba install -c conda-forge llvm-openmp
Expand All @@ -51,20 +44,10 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'

- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: macos_cpu_test
environment-name: macos_cpu_test
environment-file: ops/conda_env/macos_cpu_test.yml
use-mamba: true

- name: Display Conda env
run: |
conda info
conda list
- run: bash ops/pipeline/test-python-macos.sh

python-system-installation-on-ubuntu:
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/python_wheels_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,10 @@ jobs:
uses: Homebrew/actions/setup-homebrew@13341b4d5e459a98bbe0b122b12c11bf90518cc8
- name: Install libomp
run: brew install libomp
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
python-version: "3.10"
use-mamba: true
environment-name: minimal
environment-file: ops/conda_env/minimal.yml
- name: Build wheels
run: bash ops/pipeline/build-python-wheels-macos.sh ${{ matrix.platform_id }} ${{ github.sha }}
- name: Upload Python wheel
Expand Down
22 changes: 4 additions & 18 deletions .github/workflows/sycl_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,10 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: linux_sycl_test
environment-name: linux_sycl_test
environment-file: ops/conda_env/linux_sycl_test.yml
use-mamba: true
- name: Display Conda env
run: |
conda info
conda list
- name: Run gtest
run: bash ops/pipeline/build-test-sycl.sh gtest

Expand All @@ -47,16 +40,9 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
- uses: dmlc/xgboost/actions/miniforge-setup@main
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: linux_sycl_test
environment-name: linux_sycl_test
environment-file: ops/conda_env/linux_sycl_test.yml
use-mamba: true
- name: Display Conda env
run: |
conda info
conda list
- name: Test Python package
run: bash ops/pipeline/build-test-sycl.sh pytest
24 changes: 24 additions & 0 deletions actions/miniforge-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Setup miniforge"
inputs:
environment-name:
description: "Name of Conda environment"
required: true
environment-file:
description: "Path to environment file"
required: true
runs:
using: "composite"
steps:
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: ${{ inputs.environment-name }}
environment-file: ${{ inputs.environment-file }}
use-mamba: true
auto-update-conda: true
- name: Display Conda env
shell: bash -el {0}
run: |
conda info
conda list
2 changes: 1 addition & 1 deletion ops/conda_env/jvm_tests.yml → ops/conda_env/minimal.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: jvm_tests
name: minimal
channels:
- conda-forge
dependencies:
Expand Down

0 comments on commit 4fd8d84

Please sign in to comment.