Skip to content

Conversation

@ondrajodas
Copy link
Contributor

@ondrajodas ondrajodas commented Dec 16, 2025

  • Replace Azure Pipelines with GitHub Actions workflow
  • Add GitHub Actions for docker-push and ACR authentication
  • Update ci-find-changes.sh to use GitHub Actions outputs
  • Remove deprecated snowpark and databricks images
  • Delete azure-pipelines.yml

- Replace Azure Pipelines with GitHub Actions workflow
- Add GitHub Actions for docker-push and ACR authentication
- Update ci-find-changes.sh to use GitHub Actions outputs
- Remove deprecated snowpark and databricks images from docker-bake
- Delete azure-pipelines.yml
@linear
Copy link

linear bot commented Dec 16, 2025

- Add fetch-depth: 0 to checkout for git diff to work properly
- Remove unreachable condition in build steps (changedProjects is never empty)
- Remove docker-image-cache-restore step (images are built directly before push)
- Simplify build commands to always use changedProjects output
    - Python 3.8: Remove obsolete Python 2 packages (python-numpy, python-scipy, etc.) that are no longer available in Debian Bullseye
    - Python 3.10: Add archive.debian.org redirects for EOL Debian Buster repositories
    - Python 3.10: Remove pip3 check that fails due to intentional dependency version constraints
- Split workflow into detect-changes and build jobs
- Use GitHub Actions matrix strategy to build Python 3.8 and 3.10 in parallel
- Each version runs as independent job when changes are detected
- Update publish-images job to reference correct outputs from detect-changes job

This reduces CI build time when both Dockerfiles are modified.
- Export built Docker images to tar files
- Upload images as GitHub Actions artifacts with 1 day retention
- Update docker-image-cache-restore to download and load cached images
- Remove redundant rebuild step from publish-images job
- Images are now built once in parallel and reused in publish step
- Use docker buildx build with direct tar export instead of --load + docker save
- This avoids loading image into Docker daemon, saving disk space
- Reduces disk usage by ~50% as image is not stored twice
Remove incorrect 'to' argument that was causing docker load to fail
Change from 'ENV key value' to 'ENV key=value' format to remove Docker build warnings
…ython 3.10

- Pin mlflow<2.11 to ensure compatibility with cryptography<41
- Pin snowflake-connector-python<3.7 to ensure compatibility with cryptography<41 and pyopenssl==23.1.1
- Re-enable pip3 check to validate dependencies
@ondrajodas
Copy link
Contributor Author

# Release Notes
Migrated CI/CD pipeline from Azure Pipelines to GitHub Actions and fixed Docker build for `python-3.*`.

# Plans for Customer Communication
No customer communication is planned.

# Impact Analysis
Internal change only; ensures Docker builds succeed for Python-based components and aligns CI/CD infrastructure with organizational standards.

# Change Type
Infrastructure Update

# Justification
Improves long-term maintainability and resolves Python Docker build issues.

# Deployment Plan
Merge the PR and monitor GitHub Actions build results.

# Rollback Plan
Revert the migration if CI/CD issues are encountered.

# Post-Release Support Plan
None required unless build failures occur.

@ondrajodas ondrajodas requested a review from ErikZigo December 17, 2025 08:55
Copy link
Contributor

@ErikZigo ErikZigo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only small notes. It looks fine to me.

I discussed this PR in detail with my AI colleague 🙂 After clarifying a few things, only this remained.

description: Push Docker image to multiple registries
inputs:
imageCacheKey:
description: The image cache key (unused, kept for compatibility)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused? it is used for artifacts name. So i think the description is wrong.

Comment on lines -10 to -18
python-numpy \
python-scipy \
python-matplotlib \
ipython \
msodbcsql17 \
mssql-tools \
python-pandas \
python-sympy \
python-nose \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python 2 packages. I do not why it was still here.

Co-authored-by: Erik Zigo <erik.zigo@keboola.com>
@ondrajodas ondrajodas merged commit 9f2acc9 into master Jan 8, 2026
4 checks passed
@ondrajodas ondrajodas deleted the ondra/AJDA-2024 branch January 8, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants