chore(requirements): add nbgitpuller for one-click repo sync in Jupyt… #84
This file contains hidden or 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: ci | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - ".github/workflows/**" | |
| - ".github/actions/**" | |
| - ".build/.versions.yml" | |
| - ".build/python/okdp/**" | |
| - "docker-stacks/images/**" | |
| - "docker-stacks/tests/**" | |
| - "docker-stacks/tagging/**" | |
| - "all-spark-notebook/**" | |
| - "base-notebook/**" | |
| - "datascience-notebook/**" | |
| - "docker-stacks-foundation/**" | |
| - "julia-notebook/**" | |
| - "minimal-notebook/**" | |
| - "pytorch-notebook/**" | |
| - "r-notebook/**" | |
| - "scipy-notebook/**" | |
| - "tensorflow-notebook/**" | |
| - "pyspark-notebook/**" | |
| - "!.build/python/okdp/patch/README.md" | |
| - "!doc/**" | |
| - "!README.md" | |
| push: | |
| paths: | |
| - ".github/workflows/**" | |
| - ".github/actions/**" | |
| - ".build/.versions.yml" | |
| - ".build/python/okdp/**" | |
| - "docker-stacks/images/**" | |
| - "docker-stacks/tests/**" | |
| - "docker-stacks/tagging/**" | |
| - "all-spark-notebook/**" | |
| - "base-notebook/**" | |
| - "datascience-notebook/**" | |
| - "docker-stacks-foundation/**" | |
| - "julia-notebook/**" | |
| - "minimal-notebook/**" | |
| - "pytorch-notebook/**" | |
| - "r-notebook/**" | |
| - "scipy-notebook/**" | |
| - "tensorflow-notebook/**" | |
| - "pyspark-notebook/**" | |
| - "!.build/python/okdp/patch/README.md" | |
| - "!doc/**" | |
| - "!README.md" | |
| workflow_dispatch: | |
| # https://docs.github.com/en/actions/using-jobs/using-concurrency | |
| concurrency: | |
| # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| working-directory: ./docker-stacks | |
| permissions: | |
| contents: write | |
| packages: write | |
| jobs: | |
| spark-version-matrix: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| spark: ${{ steps.set-matrix.outputs.spark }} | |
| python: ${{ steps.set-matrix.outputs.python }} | |
| steps: | |
| - name: Checkout Repo ⚡️ | |
| uses: actions/checkout@v5 | |
| - name: Patch create a build environment | |
| uses: ./.github/actions/patch-create-dev-env | |
| - name: Create dev environment 📦 | |
| # We need to have a recent docker version | |
| # More info: https://github.com/jupyter/docker-stacks/pull/2255 | |
| # Can be removed after Docker Engine is updated | |
| # https://github.com/actions/runner-images/issues/11766 | |
| #uses: ./docker-stacks/.github/actions/create-dev-env | |
| uses: ./.github/actions/create-dev-env | |
| - name: Setup dev env patchs 📦 | |
| uses: ./.github/actions/install-okdp-extension | |
| - name: Run unit tests (okdp package extension) | |
| run: pytest -c python/pyproject.toml python/tests -v --color=yes | |
| working-directory: ./.build | |
| shell: bash | |
| - name: Get current branch 📦 | |
| id: branch | |
| uses: tj-actions/branch-names@v8 | |
| - name: Build version compatibility matrix 🛠 | |
| id: set-matrix | |
| run: | | |
| python3 -m okdp.extension.matrix.version_compatibility_matrix \ | |
| --versions-matrix-path ../.build/.versions.yml \ | |
| --git-branch ${{ steps.branch.outputs.current_branch || steps.branch.outputs.tag}} >> $GITHUB_OUTPUT | |
| cat $GITHUB_OUTPUT | |
| shell: bash | |
| build-base: | |
| name: build-base (python-${{ matrix.python.python_version }}) | |
| strategy: | |
| matrix: | |
| python: ${{ fromJson(needs.spark-version-matrix.outputs.python) }} | |
| uses: ./.github/workflows/build-base-images-template.yml | |
| with: | |
| python_version: ${{ matrix.python.python_version }} | |
| python_dev_tag: ${{ matrix.python.python_dev_tag }} | |
| needs: [spark-version-matrix] | |
| build-datascience: | |
| name: build-datascience (python-${{ matrix.python.python_version }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ${{ fromJson(needs.spark-version-matrix.outputs.python) }} | |
| uses: ./.github/workflows/build-datascience-images-template.yml | |
| with: | |
| python_dev_tag: ${{ matrix.python.python_dev_tag }} | |
| needs: [spark-version-matrix, build-base] | |
| build-spark: | |
| name: build-spark (python-${{ matrix.spark.python_version }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| spark: ${{ fromJson(needs.spark-version-matrix.outputs.spark) }} | |
| uses: ./.github/workflows/build-spark-images-template.yml | |
| with: | |
| spark_download_url: ${{ matrix.spark.spark_download_url }} | |
| python_version: ${{ matrix.spark.python_version }} | |
| spark_version: ${{ matrix.spark.spark_version }} | |
| java_version: ${{ matrix.spark.java_version }} | |
| scala_version: ${{ matrix.spark.scala_version }} | |
| hadoop_version: ${{ matrix.spark.hadoop_version }} | |
| python_dev_tag: ${{ matrix.spark.python_dev_tag }} | |
| spark_dev_tag: ${{ matrix.spark.spark_dev_tag }} | |
| needs: [spark-version-matrix, build-base] | |