Skip to content

Optimization of CSV reading. #12

Optimization of CSV reading.

Optimization of CSV reading. #12

name: Run HBase Notebooks CI
on:
push:
branches: [ '*' ]
paths:
- 'hbase/**'
pull_request:
branches: [ '*' ]
paths:
- 'hbase/**'
jobs:
dump_contexts_to_log:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJson(job) }}
run: echo "$JOB_CONTEXT"
- name: Dump steps context
env:
STEPS_CONTEXT: ${{ toJson(steps) }}
run: echo "$STEPS_CONTEXT"
- name: Dump runner context
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "$RUNNER_CONTEXT"
- name: Dump strategy context
env:
STRATEGY_CONTEXT: ${{ toJson(strategy) }}
run: echo "$STRATEGY_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJson(matrix) }}
run: echo "$MATRIX_CONTEXT"
build-hbase-notebooks:
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.10", "3.11", "3.12"]
notebook: ["hbase/sesion5.ipynb", "hbase/sesion6.ipynb"]
steps:
- name: Checkout the repo.
uses: actions/checkout@v4
# Cambiado Notebook?
- name: ${{ matrix.notebook }} changed?
id: changed-file
uses: tj-actions/changed-files@v42
with:
files: |
${{ matrix.notebook }}
- name: Setup Python
if: steps.changed-file.outputs.any_changed == 'true'
uses: actions/setup-python@v5
with:
python-version: '${{ matrix.python }}'
cache: 'pip'
- name: Install dependencies
if: steps.changed-file.outputs.any_changed == 'true'
run: |
python3 -m pip install --upgrade pip
pip install -r .github/workflows/requirements.txt
- name: Create output directory
if: steps.changed-file.outputs.any_changed == 'true'
run: mkdir -p ${{RUNNER.temp}}/nb-runner
env:
RUNNER: ${{ toJson(runner) }}
- name: Run notebook
if: steps.changed-file.outputs.any_changed == 'true'
run: |
papermill ${{ matrix.notebook }} ${{ matrix.notebook }}.output.ipynb
- name: Convert notebook to HTML
if: steps.changed-file.outputs.any_changed == 'true'
run: |
jupyter nbconvert --to html ${{ matrix.notebook }}.output.ipynb
cp ${{ matrix.notebook }}.output.* ${{RUNNER.temp}}/nb-runner
env:
RUNNER: ${{ toJson(runner) }}
- uses: mad9000/actions-find-and-replace-string@5
if: steps.changed-file.outputs.any_changed == 'true'
id: notebook-no-slash
with:
source: ${{ matrix.notebook }}
find: '/'
replace: '-'
replaceAll: True
- uses: actions/upload-artifact@v4
if: steps.changed-file.outputs.any_changed == 'true'
with:
name: output-hbase-${{ steps.notebook-no-slash.outputs.value }}-${{ matrix.python }}
path: ${{ RUNNER.temp }}/nb-runner
env:
RUNNER: ${{ toJson(runner) }}