test #45
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'build' | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
branches: | |
- '*' | |
schedule: | |
- cron: "30 2 * * *" | |
branches: | |
- "main" | |
jobs: | |
check_skip: | |
runs-on: ubuntu-latest | |
outputs: | |
skip: ${{ steps.result_step.outputs.ci-skip }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- id: result_step | |
uses: mstachniuk/ci-skip@master | |
with: | |
commit-filter: '[skip ci];[ci skip];[skip github]' | |
commit-filter-separator: ';' | |
latest: | |
needs: check_skip | |
if: ${{ needs.check_skip.outputs.skip == 'false' }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macos-latest", "windows-latest"] | |
python-version: ["3.10", "3.11"] | |
# Install the min or latest dependencies for skrub | |
# as defined in setup.cfg at [options.extra_require]. | |
# | |
# Installing these extra dependencies will overwrite the already | |
# installed version defined at install_requires. | |
dependencies-version-type: ["minimal", "latest"] | |
include: | |
- os: "ubuntu-latest" | |
os-name: "Ubuntu" | |
- os: "macos-latest" | |
os-name: "MacOS" | |
- os: "windows-latest" | |
os-name: "Windows" | |
- dependencies-version: "dev" | |
- dependencies-version: "dev, pyarrow" | |
python-version: "3.11" | |
- dependencies-version: "dev, polars" | |
python-version: "3.11" | |
- dependencies-version: "dev, min-py310" | |
python-version: "3.10" | |
dependencies-version-type: "minimal" | |
name: ${{ matrix.os-name }} with Python ${{ matrix.python-version }} and ${{ matrix.dependencies-version-type }} dependencies | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
name: 'Setup python' | |
- shell: bash {0} | |
run: ./build_tools/github/install.sh | |
name: 'Install skrub' | |
env: | |
DEPS_VERSION: ${{ matrix.dependencies-version }} | |
- shell: bash {0} | |
run: | | |
cp $GITHUB_WORKSPACE/pyproject.toml . | |
$GITHUB_WORKSPACE/build_tools/github/test.sh | |
working-directory: ${{ runner.temp }} | |
name: 'Run tests' | |
- uses: codecov/codecov-action@v3 | |
with: | |
directory: ${{ runner.temp }} | |
verbose: true | |
if: success() | |
name: 'Upload coverage to CodeCov' | |
run_nightly: | |
runs-on: ubuntu-latest | |
outputs: | |
run: ${{ github.event_name == 'schedule' || contains(steps.get_head_commit_message.outputs.COMMIT_MSG, '[deps nightly]') }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- id: get_head_commit_message | |
name: get head commit message | |
run: echo "COMMIT_MSG=$(git show -s --format=%s)" >> "$GITHUB_OUTPUT" | |
nightly: | |
needs: run_nightly | |
if: ${{ needs.run_nightly.outputs.run == 'true' }} | |
runs-on: ubuntu-latest | |
name: test against nighlty dependencies | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
name: 'Setup python' | |
- shell: bash {0} | |
run: ./build_tools/github/install.sh | |
name: 'Install skrub' | |
env: | |
INSTALL_NIGHTLY: "true" | |
DEPS_VERSION: "dev" | |
- shell: bash {0} | |
run: ./build_tools/github/test.sh | |
name: 'Run tests' |