chore(workflows): update dependency ubuntu to v24 #26777
Workflow file for this run
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: Test | |
'on': | |
pull_request: | |
branches: | |
- main | |
schedule: | |
- cron: 0 10 * * * | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
detect-changes: | |
name: Detect Changes | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
permissions: | |
pull-requests: read | |
outputs: | |
amazon-sagemaker-pytorch-mnist: ${{ steps.filter.outputs.amazon-sagemaker-pytorch-mnist }} | |
amazon-sagamaker-triton-resnet-50-deploy: ${{ steps.filter.outputs.amazon-sagamaker-triton-resnet-50-deploy }} | |
amazon-sagamaker-triton-resnet-50-infer: ${{ steps.filter.outputs.amazon-sagamaker-triton-resnet-50-infer }} | |
api-go: ${{ steps.filter.outputs.api-go }} | |
api-node: ${{ steps.filter.outputs.api-node }} | |
api-python: ${{ steps.filter.outputs.api-python }} | |
api-rust: ${{ steps.filter.outputs.api-rust }} | |
call-matlab-function-in-python: ${{ steps.filter.outputs.call-matlab-function-in-python }} | |
decode-can-data: ${{ steps.filter.outputs.decode-can-data }} | |
development-aws-glue-spark-scripts: ${{ steps.filter.outputs.development-aws-glue-spark-scripts }} | |
production-aws-glue-spark-scripts: ${{ steps.filter.outputs.production-aws-glue-spark-scripts }} | |
format-can-data: ${{ steps.filter.outputs.format-can-data }} | |
convolutional-neural-network: ${{ steps.filter.outputs.convolutional-neural-network }} | |
data-distribution-service: ${{ steps.filter.outputs.data-distribution-service }} | |
dbt-hm-postgres: ${{ steps.filter.outputs.dbt-hm-postgres }} | |
delta-lake-read-delta-lake-by-amazon-athena: ${{ steps.filter.outputs.delta-lake-read-delta-lake-by-amazon-athena }} | |
delta-lake-read-delta-lake-by-trino: ${{ steps.filter.outputs.delta-lake-read-delta-lake-by-trino }} | |
delta-lake-write-to-delta-lake: ${{ steps.filter.outputs.delta-lake-write-to-delta-lake }} | |
feature-store: ${{ steps.filter.outputs.feature-store }} | |
flink-stream-tweets: ${{ steps.filter.outputs.flink-stream-tweets }} | |
grafana-hm-dashboard: ${{ steps.filter.outputs.grafana-hm-dashboard }} | |
grafana-hm-panel-plugin: ${{ steps.filter.outputs.grafana-hm-panel-plugin }} | |
graph-neural-network: ${{ steps.filter.outputs.graph-neural-network }} | |
hm-aerosandbox: ${{ steps.filter.outputs.hm-aerosandbox }} | |
hm-airflow: ${{ steps.filter.outputs.hm-airflow }} | |
hm-geopandas: ${{ steps.filter.outputs.hm-geopandas }} | |
national-instruments-hm-pyvisa: ${{ steps.filter.outputs.national-instruments-hm-pyvisa }} | |
national-instruments-hm-tdms: ${{ steps.filter.outputs.national-instruments-hm-tdms }} | |
national-instruments-hm-veristand: ${{ steps.filter.outputs.national-instruments-hm-veristand }} | |
hm-autogluon: ${{ steps.filter.outputs.hm-autogluon }} | |
hm-aws-parallelcluster: ${{ steps.filter.outputs.hm-aws-parallelcluster }} | |
hm-flax: ${{ steps.filter.outputs.hm-flax }} | |
hm-gradio-classify-image: ${{ steps.filter.outputs.hm-gradio-classify-image }} | |
hm-streamlit-live-line-chart: ${{ steps.filter.outputs.hm-streamlit-live-line-chart }} | |
hm-streamlit-map: ${{ steps.filter.outputs.hm-streamlit-map }} | |
hm-jax: ${{ steps.filter.outputs.hm-jax }} | |
hm-kubeflow-calculate: ${{ steps.filter.outputs.hm-kubeflow-calculate }} | |
hm-kubeflow-classify-mnist: ${{ steps.filter.outputs.hm-kubeflow-classify-mnist }} | |
hm-langchain-chat-pdf: ${{ steps.filter.outputs.hm-langchain-chat-pdf }} | |
hm-mlflow-classify-mnist: ${{ steps.filter.outputs.hm-mlflow-classify-mnist }} | |
hm-mlflow-predict-diabetes: ${{ steps.filter.outputs.hm-mlflow-predict-diabetes }} | |
hm-opal-client: ${{ steps.filter.outputs.hm-opal-client }} | |
hm-open3d: ${{ steps.filter.outputs.hm-open3d }} | |
hm-openaerostruct: ${{ steps.filter.outputs.hm-openaerostruct }} | |
hm-prefect-calculate: ${{ steps.filter.outputs.hm-prefect-calculate }} | |
hm-prefect-greet: ${{ steps.filter.outputs.hm-prefect-greet }} | |
hm-prefect-print-platform: ${{ steps.filter.outputs.hm-prefect-print-platform }} | |
hm-prowler: ${{ steps.filter.outputs.hm-prowler }} | |
hm-pulumi: ${{ steps.filter.outputs.hm-pulumi }} | |
hm-pyvista-mount-saint-helens: ${{ steps.filter.outputs.hm-pyvista-mount-saint-helens }} | |
hm-rasa: ${{ steps.filter.outputs.hm-rasa }} | |
hm-ray-calculate: ${{ steps.filter.outputs.hm-ray-calculate }} | |
hm-ray-process-flight-data: ${{ steps.filter.outputs.hm-ray-process-flight-data }} | |
hm-serial: ${{ steps.filter.outputs.hm-serial }} | |
hm-skypilot: ${{ steps.filter.outputs.hm-skypilot }} | |
hm-spark-analyze-coffee-customers: ${{ steps.filter.outputs.hm-spark-analyze-coffee-customers }} | |
hm-spark-find-retired-people-python: ${{ steps.filter.outputs.hm-spark-find-retired-people-python }} | |
hm-spark-find-retired-people-scala: ${{ steps.filter.outputs.hm-spark-find-retired-people-scala }} | |
hm-spark-find-taxi-top-routes: ${{ steps.filter.outputs.hm-spark-find-taxi-top-routes }} | |
hm-spark-find-taxi-top-routes-sql: ${{ steps.filter.outputs.hm-spark-find-taxi-top-routes-sql }} | |
hm-spark-ingest-from-s3-to-kafka: ${{ steps.filter.outputs.hm-spark-ingest-from-s3-to-kafka }} | |
hm-spark-recommend-movies: ${{ steps.filter.outputs.hm-spark-recommend-movies }} | |
hm-supervision-detect-objects: ${{ steps.filter.outputs.hm-supervision-detect-objects }} | |
hm-xxhash: ${{ steps.filter.outputs.hm-xxhash }} | |
iads-iads-data-producer: ${{ steps.filter.outputs.iads-iads-data-producer }} | |
iads-zeromq-iads-bridge: ${{ steps.filter.outputs.iads-zeromq-iads-bridge }} | |
hugging-face-analyze-sentiment: ${{ steps.filter.outputs.hugging-face-analyze-sentiment }} | |
kafka-rust-proto-consumer: ${{ steps.filter.outputs.kafka-rust-proto-consumer }} | |
kafka-rust-proto-producer: ${{ steps.filter.outputs.kafka-rust-proto-producer }} | |
kafka-rust-udp-kafka-bridge: ${{ steps.filter.outputs.kafka-rust-udp-kafka-bridge }} | |
kafka-rust-zeromq-kafka-bridge: ${{ steps.filter.outputs.kafka-rust-zeromq-kafka-bridge }} | |
mobile-android: ${{ steps.filter.outputs.mobile-android }} | |
mobile-ios: ${{ steps.filter.outputs.mobile-ios }} | |
mobile-react-native: ${{ steps.filter.outputs.mobile-react-native }} | |
neural-forecasting-forecast-air-passenger-number: ${{ steps.filter.outputs.neural-forecasting-forecast-air-passenger-number }} | |
pack-unpack-data: ${{ steps.filter.outputs.pack-unpack-data }} | |
prometheus: ${{ steps.filter.outputs.prometheus }} | |
quantum-computing: ${{ steps.filter.outputs.quantum-computing }} | |
robot-operating-system: ${{ steps.filter.outputs.robot-operating-system }} | |
reinforcement-learning-cart-pole: ${{ steps.filter.outputs.reinforcement-learning-cart-pole }} | |
udp-receiver: ${{ steps.filter.outputs.udp-receiver }} | |
udp-sender: ${{ steps.filter.outputs.udp-sender }} | |
web: ${{ steps.filter.outputs.web }} | |
web-cypress: ${{ steps.filter.outputs.web-cypress }} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- uses: dorny/[email protected] | |
id: filter | |
with: | |
filters: | | |
amazon-sagemaker-pytorch-mnist: | |
- '.github/workflows/test.yml' | |
- 'cloud-platform/aws/amazon-sagemaker/pytorch-mnist/**' | |
amazon-sagamaker-triton-resnet-50-deploy: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy/**' | |
amazon-sagamaker-triton-resnet-50-infer: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer/**' | |
api-go: | |
- '.github/workflows/test.yml' | |
- 'api-go/**' | |
api-node: | |
- '.github/workflows/test.yml' | |
- 'api-node/**' | |
api-python: | |
- '.github/workflows/test.yml' | |
- 'api-python/**' | |
api-rust: | |
- '.github/workflows/test.yml' | |
- 'api-rust/**' | |
call-matlab-function-in-python: | |
- '.github/workflows/test.yml' | |
- 'matlab/call-matlab-function-in-python/**' | |
decode-can-data: | |
- '.github/workflows/test.yml' | |
- 'embedded/decode-can-data/**' | |
development-aws-glue-spark-scripts: | |
- '.github/workflows/test.yml' | |
- 'cloud-infrastructure/terraform/environments/development/aws/general/files/aws-glue/spark-scripts/**' | |
production-aws-glue-spark-scripts: | |
- '.github/workflows/test.yml' | |
- 'cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts/**' | |
format-can-data: | |
- '.github/workflows/test.yml' | |
- 'embedded/format-can-data/**' | |
convolutional-neural-network: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/convolutional-neural-network/**' | |
data-distribution-service: | |
- '.github/workflows/test.yml' | |
- 'data-distribution-service/**' | |
dbt-hm-postgres: | |
- '.github/workflows/test.yml' | |
- 'data-transformation/dbt/projects/dbt_hm_postgres/**' | |
delta-lake-read-delta-lake-by-amazon-athena: | |
- '.github/workflows/test.yml' | |
- 'data-storage/delta-lake/read-delta-lake-by-amazon-athena/**' | |
delta-lake-read-delta-lake-by-trino: | |
- '.github/workflows/test.yml' | |
- 'data-storage/delta-lake/read-delta-lake-by-trino/**' | |
delta-lake-write-to-delta-lake: | |
- '.github/workflows/test.yml' | |
- 'data-storage/delta-lake/write-to-delta-lake/**' | |
feature-store: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/feature-store/**' | |
flink-stream-tweets: | |
- '.github/workflows/test.yml' | |
- 'data-processing/flink/applications/stream-tweets/**' | |
grafana-hm-dashboard: | |
- '.github/workflows/test.yml' | |
- 'data-visualization/grafana/hm-dashboard/**' | |
grafana-hm-panel-plugin: | |
- '.github/workflows/test.yml' | |
- 'data-visualization/grafana/hm-panel-plugin/**' | |
graph-neural-network: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/graph-neural-network/**' | |
hm-aerosandbox: | |
- '.github/workflows/test.yml' | |
- 'aerospace/hm-aerosandbox/**' | |
hm-airflow: | |
- '.github/workflows/test.yml' | |
- 'data-orchestration/hm-airflow/**' | |
hm-geopandas: | |
- '.github/workflows/test.yml' | |
- 'data-analytics/hm-geopandas/**' | |
kafka-rust-proto-consumer: | |
- '.github/workflows/test.yml' | |
- 'hm-kafka/kafka-client/kafka-rust/proto-consumer/**' | |
kafka-rust-proto-producer: | |
- '.github/workflows/test.yml' | |
- 'hm-kafka/kafka-client/kafka-rust/proto-producer/**' | |
kafka-rust-udp-kafka-bridge: | |
- '.github/workflows/test.yml' | |
- 'hm-kafka/kafka-client/kafka-rust/udp-kafka-bridge/**' | |
kafka-rust-zeromq-kafka-bridge: | |
- '.github/workflows/test.yml' | |
- 'hm-kafka/kafka-client/kafka-rust/zeromq-kafka-bridge/**' | |
national-instruments-hm-pyvisa: | |
- '.github/workflows/test.yml' | |
- 'hardware-in-the-loop/national-instruments/hm-pyvisa/**' | |
national-instruments-hm-tdms: | |
- '.github/workflows/test.yml' | |
- 'hardware-in-the-loop/national-instruments/hm-tdms/**' | |
national-instruments-hm-veristand: | |
- '.github/workflows/test.yml' | |
- 'hardware-in-the-loop/national-instruments/veristand/hm-veristand/**' | |
hm-autogluon: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-autogluon/**' | |
hm-aws-parallelcluster: | |
- '.github/workflows/test.yml' | |
- 'cloud-platform/aws/aws-parallelcluster/pcluster/**' | |
hm-flax: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-flax/**' | |
hm-gradio-classify-image: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-gradio/applications/classify-image/**' | |
hm-jax: | |
- '.github/workflows/test.yml' | |
- 'high-performance-computing/hm-jax/**' | |
hm-kubeflow-calculate: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-kubeflow/pipelines/calculate/**' | |
hm-kubeflow-classify-mnist: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-kubeflow/pipelines/classify-mnist/**' | |
hm-langchain-chat-pdf: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-langchain/applications/chat-pdf/**' | |
hm-mlflow-classify-mnist: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-mlflow/experiments/classify-mnist/**' | |
hm-mlflow-predict-diabetes: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-mlflow/experiments/predict-diabetes/**' | |
hm-opal-client: | |
- '.github/workflows/test.yml' | |
- 'authorization/hm-opal-client/**' | |
hm-open3d: | |
- '.github/workflows/test.yml' | |
- 'computer-vision/hm-open3d/**' | |
hm-openaerostruct: | |
- '.github/workflows/test.yml' | |
- 'computer-vision/hm-openaerostruct/**' | |
hm-prefect-calculate: | |
- '.github/workflows/test.yml' | |
- 'data-orchestration/hm-prefect/workflows/calculate/**' | |
hm-prefect-greet: | |
- '.github/workflows/test.yml' | |
- 'data-orchestration/hm-prefect/workflows/greet/**' | |
hm-prowler: | |
- '.github/workflows/test.yml' | |
- 'cloud-security/hm-prowler/**' | |
hm-pulumi: | |
- '.github/workflows/test.yml' | |
- 'cloud-infrastructure/hm-pulumi/**' | |
hm-prefect-print-platform: | |
- '.github/workflows/test.yml' | |
- 'data-orchestration/hm-prefect/workflows/print-platform/**' | |
hm-pyvista-mount-saint-helens: | |
- '.github/workflows/test.yml' | |
- 'computer-vision/hm-pyvista/mount-saint-helens/**' | |
hm-rasa: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-rasa/**' | |
hm-ray-calculate: | |
- '.github/workflows/test.yml' | |
- 'cloud-computing/hm-ray/applications/calculate/**' | |
hm-ray-process-flight-data: | |
- '.github/workflows/test.yml' | |
- 'cloud-computing/hm-ray/applications/process-flight-data/**' | |
hm-serial: | |
- '.github/workflows/test.yml' | |
- 'embedded/hm-serial/**' | |
hm-skypilot: | |
- '.github/workflows/test.yml' | |
- 'cloud-computing/hm-skypilot/**' | |
hm-spark-analyze-coffee-customers: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/analyze-coffee-customers/**' | |
hm-spark-find-retired-people-python: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/find-retired-people-python/**' | |
hm-spark-find-retired-people-scala: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/find-retired-people-scala/**' | |
hm-spark-find-taxi-top-routes: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/find-taxi-top-routes/**' | |
hm-spark-find-taxi-top-routes-sql: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/find-taxi-top-routes-sql/**' | |
hm-spark-ingest-from-s3-to-kafka: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/ingest-from-s3-to-kafka/**' | |
hm-spark-recommend-movies: | |
- '.github/workflows/test.yml' | |
- 'data-processing/hm-spark/applications/recommend-movies/**' | |
hm-streamlit-live-line-chart: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-streamlit/applications/live-line-chart/**' | |
hm-streamlit-map: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-streamlit/applications/map/**' | |
hm-supervision-detect-objects: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hm-supervision/detect-objects/**' | |
hm-xxhash: | |
- '.github/workflows/test.yml' | |
- 'hm-xxhash/**' | |
hugging-face-analyze-sentiment: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/hugging-face/analyze-sentiment/**' | |
iads-iads-data-producer: | |
- '.github/workflows/test.yml' | |
- 'data-visualization/iads/iads-data-producer/**' | |
iads-zeromq-iads-bridge: | |
- '.github/workflows/test.yml' | |
- 'data-visualization/iads/zeromq-iads-bridge/**' | |
mobile-android: | |
- '.github/workflows/test.yml' | |
- 'mobile/mobile-android/**' | |
mobile-ios: | |
- '.github/workflows/test.yml' | |
- 'mobile/mobile-ios/**' | |
mobile-react-native: | |
- '.github/workflows/test.yml' | |
- 'mobile/mobile-react-native/**' | |
neural-forecasting-forecast-air-passenger-number: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/neural-forecasting/forecast-air-passenger-number/**' | |
pack-unpack-data: | |
- '.github/workflows/test.yml' | |
- 'embedded/pack-unpack-data/**' | |
prometheus: | |
- '.github/workflows/test.yml' | |
- 'data-storage/prometheus/**' | |
quantum-computing: | |
- '.github/workflows/test.yml' | |
- 'quantum-computing/**' | |
reinforcement-learning-cart-pole: | |
- '.github/workflows/test.yml' | |
- 'machine-learning/reinforcement-learning/cart-pole/**' | |
robot-operating-system: | |
- '.github/workflows/test.yml' | |
- 'robotics/robot-operating-system/**' | |
udp-receiver: | |
- '.github/workflows/test.yml' | |
- 'network-programmability/udp/udp-receiver/**' | |
udp-sender: | |
- '.github/workflows/test.yml' | |
- 'network-programmability/udp/udp-sender/**' | |
web: | |
- '.github/workflows/test.yml' | |
- 'web/**' | |
web-cypress: | |
- '.github/workflows/test.yml' | |
- 'web-cypress/**' | |
lint: | |
name: Lint | |
uses: ./.github/workflows/.lint.yml | |
static-type-check: | |
name: Static Type Check | |
uses: ./.github/workflows/.static-type-check.yml | |
web-test: | |
name: Web | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.web == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: web/.nvmrc | |
cache: npm | |
cache-dependency-path: web/package-lock.json | |
- name: Install dependencies | |
working-directory: web | |
run: | | |
npm ci | |
- name: Test | |
working-directory: web | |
run: | | |
npm run test:coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: web | |
web-end-to-end-test: | |
name: Web | End-to-End Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-node == 'true' || needs.detect-changes.outputs.web == 'true' || needs.detect-changes.outputs.web-cypress == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: web-cypress/.nvmrc | |
cache: npm | |
cache-dependency-path: web-cypress/package-lock.json | |
- name: Install dependencies | |
working-directory: web-cypress | |
run: | | |
npm ci | |
- name: Pull Docker images | |
working-directory: api-node | |
run: | | |
docker compose --file=docker-compose.cypress.yaml pull | |
- name: Cache Docker images | |
uses: jpribyl/[email protected] | |
continue-on-error: true | |
- name: Start Docker | |
working-directory: api-node | |
run: | | |
docker compose --file=docker-compose.cypress.yaml up --detach | |
- name: Cypress | |
working-directory: web-cypress | |
run: | | |
npm run test:cypress:headless:58136 | |
- name: Stop Docker | |
working-directory: api-node | |
run: | | |
docker compose --file=docker-compose.cypress.yaml down | |
web-lighthouse: | |
name: Web | Lighthouse | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.web == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: web/.nvmrc | |
cache: npm | |
cache-dependency-path: web/package-lock.json | |
- name: Install dependencies | |
working-directory: web | |
run: | | |
npm ci | |
- name: Build | |
working-directory: web | |
run: | | |
npm run build | |
- name: Lighthouse | |
working-directory: web | |
env: | |
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} | |
run: | | |
npm run lighthouse | |
# https://www.chromatic.com/docs/github-actions | |
web-visual-test: | |
name: Web | Visual Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.web == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
# Required to retrieve git history | |
fetch-depth: 0 | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: web/.nvmrc | |
cache: npm | |
cache-dependency-path: web/package-lock.json | |
- name: Install dependencies | |
working-directory: web | |
run: | | |
npm ci | |
- name: Build | |
working-directory: web | |
run: | | |
npm run build | |
npm run storybook:build | |
- name: Publish storybook to Chromatic | |
working-directory: web | |
run: | | |
npm run storybook:publish -- --project-token=${{ secrets.CHROMATIC_PROJECT_TOKEN }} --exit-zero-on-changes | |
mobile-ios-test: | |
name: Mobile - iOS | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.mobile-ios == 'true' }} | |
runs-on: macos-14 | |
environment: test | |
timeout-minutes: 90 | |
env: | |
# To use a Gemfile which is not at the root | |
# https://github.com/ruby/setup-ruby#caching-bundle-install-automatically | |
BUNDLE_GEMFILE: ${{ github.workspace }}/mobile/mobile-ios/Gemfile | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Xcode | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: 16.1.0 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
working-directory: mobile/mobile-ios | |
bundler-cache: true | |
- name: Build | |
working-directory: mobile/mobile-ios | |
run: | | |
xcodebuild build-for-testing \ | |
-project HMMobile.xcodeproj \ | |
-scheme HMMobile \ | |
-destination "platform=iOS Simulator,name=iPhone 16 Pro Max,OS=18.1" | |
- name: Test | |
uses: wandalen/[email protected] | |
with: | |
current_path: mobile/mobile-ios | |
command: | | |
xcodebuild test-without-building \ | |
-project HMMobile.xcodeproj \ | |
-scheme HMMobile \ | |
-destination "platform=iOS Simulator,name=iPhone 16 Pro Max,OS=18.1" | |
attempt_limit: 3 | |
attempt_delay: 2000 | |
- name: Convert coverage to Cobertura XML format | |
working-directory: mobile/mobile-ios | |
run: | | |
bundle exec slather | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: mobile/mobile-ios | |
mobile-android-lint: | |
name: Mobile - Android | Lint | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.mobile-android == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
# https://developer.android.com/build/jdks#compileSdk | |
java-version: '17' | |
cache: gradle | |
- name: Lint | |
working-directory: mobile/mobile-android | |
run: | | |
./gradlew lint | |
mobile-android-test: | |
name: Mobile - Android | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.mobile-android == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
# https://developer.android.com/build/jdks#compileSdk | |
java-version: '17' | |
cache: gradle | |
- name: Test | |
working-directory: mobile/mobile-android | |
run: | | |
./gradlew test | |
mobile-android-instrumented-test: | |
name: Mobile - Android | Instrumented Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.mobile-android == 'true' }} | |
# Ubuntu displays the message: "You're running a Linux VM where hardware acceleration is not available. Please consider using a macOS VM instead to take advantage of native hardware acceleration support provided by HAXM." | |
# https://github.com/ReactiveCircus/android-emulator-runner#a-note-on-vm-acceleration-and-why-we-dont-need-haxm-anymore | |
runs-on: macos-13 | |
environment: test | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
# https://developer.android.com/build/jdks#compileSdk | |
java-version: '17' | |
cache: gradle | |
- name: Instrumented Test | |
uses: reactivecircus/[email protected] | |
with: | |
working-directory: mobile/mobile-android | |
arch: x86_64 | |
api-level: 35 | |
script: ./gradlew connectedAndroidTest | |
mobile-react-native-test: | |
name: Mobile - React Native | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.mobile-react-native == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: mobile/mobile-react-native/.nvmrc | |
cache: npm | |
cache-dependency-path: mobile/mobile-react-native/package-lock.json | |
- name: Install dependencies | |
working-directory: mobile/mobile-react-native | |
run: | | |
npm ci | |
- name: Test | |
working-directory: mobile/mobile-react-native | |
run: | | |
npm run test:coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: mobile/mobile-react-native | |
api-go-test: | |
name: API - Go | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-go == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Go | |
uses: actions/[email protected] | |
with: | |
go-version-file: api-go/go.mod | |
cache-dependency-path: api-go/go.sum | |
- name: Test | |
working-directory: api-go | |
run: | | |
go test ./... -race -coverprofile=coverage.txt -covermode=atomic | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: api-go | |
api-node-test: | |
name: API - Node.js | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-node == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: api-node/.nvmrc | |
cache: npm | |
cache-dependency-path: api-node/package-lock.json | |
- name: Install dependencies | |
working-directory: api-node | |
run: | | |
npm ci | |
- name: Test | |
working-directory: api-node | |
run: | | |
npm run test:coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: api-node | |
api-node-mutation-test: | |
name: API - Node.js | Mutation Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-node == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: api-node/.nvmrc | |
cache: npm | |
cache-dependency-path: api-node/package-lock.json | |
- name: Install dependencies | |
working-directory: api-node | |
run: | | |
npm ci | |
- name: Stryker | |
working-directory: api-node | |
env: | |
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
run: | | |
npm run test:stryker | |
api-python-test: | |
name: API - Python | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-python == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# librdkafka is for confluent-kafka | |
- name: Install librdkafka | |
run: | | |
# https://github.com/edenhill/librdkafka#build-from-source | |
wget --no-verbose --output-document=librdkafka.tar.gz https://github.com/edenhill/librdkafka/archive/refs/tags/v2.6.0.tar.gz | |
tar -x -f librdkafka.tar.gz | |
rm -f librdkafka.tar.gz | |
cd librdkafka-2.6.0 | |
./configure | |
make | |
sudo make install | |
sudo ldconfig | |
cd .. | |
rm -r -f librdkafka-2.6.0/ | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: api-python/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: api-python/pyproject.toml | |
- name: Install dependencies | |
working-directory: api-python | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: api-python | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: api-python | |
api-rust-test: | |
name: API - Rust | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-rust == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: api-rust | |
run: | | |
cargo build | |
- name: Test | |
working-directory: api-rust | |
run: | | |
cargo test --all-features | |
airflow-test: | |
name: Airflow | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-airflow == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-orchestration/hm-airflow/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-orchestration/hm-airflow/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-orchestration/hm-airflow | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-orchestration/hm-airflow | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-orchestration/hm-airflow | |
amazon-sagemaker-pytorch-mnist-test: | |
name: Amazon SageMaker (pytorch-mnist) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.amazon-sagemaker-pytorch-mnist == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-platform/aws/amazon-sagemaker/pytorch-mnist/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-platform/aws/amazon-sagemaker/pytorch-mnist/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-platform/aws/amazon-sagemaker/pytorch-mnist | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-platform/aws/amazon-sagemaker/pytorch-mnist | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-platform/aws/amazon-sagemaker/pytorch-mnist | |
amazon-sagamaker-triton-resnet-50-deploy-test: | |
name: Amazon SageMaker Triton ResNet 50 (Deploy) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.amazon-sagamaker-triton-resnet-50-deploy == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/deploy | |
amazon-sagamaker-triton-resnet-50-infer-test: | |
name: Amazon SageMaker Triton ResNet 50 (Infer) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.amazon-sagamaker-triton-resnet-50-infer == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/triton/amazon-sagamaker-triton-resnet-50/infer | |
production-aws-glue-spark-scripts-test: | |
name: AWS Glue (production spark-scripts) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.production-aws-glue-spark-scripts == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-infrastructure/terraform/environments/production/aws/general/files/aws-glue/spark-scripts | |
aws-parallelcluster-test: | |
name: AWS ParallelCluster | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-aws-parallelcluster == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-platform/aws/aws-parallelcluster/pcluster/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-platform/aws/aws-parallelcluster/pcluster/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-platform/aws/aws-parallelcluster/pcluster | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-platform/aws/aws-parallelcluster/pcluster | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-platform/aws/aws-parallelcluster/pcluster | |
call-matlab-function-in-python: | |
name: Call MATLAB Function in Python | Test | |
needs: detect-changes | |
if: ${{ false }} | |
# if: ${{ needs.detect-changes.outputs.call-matlab-function-in-python == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up MATLAB | |
uses: matlab-actions/[email protected] | |
with: | |
release: R2024a | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: matlab/call-matlab-function-in-python/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: matlab/call-matlab-function-in-python/pyproject.toml | |
- name: Install dependencies | |
working-directory: matlab/call-matlab-function-in-python | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: matlab/call-matlab-function-in-python | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: matlab/call-matlab-function-in-python | |
decode-can-data-test: | |
name: Decode CAN Data | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.decode-can-data == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: embedded/decode-can-data/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: embedded/decode-can-data/pyproject.toml | |
- name: Install dependencies | |
working-directory: embedded/decode-can-data | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: embedded/decode-can-data | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: embedded/decode-can-data | |
format-can-data-test: | |
name: Format CAN Data | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.format-can-data == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: embedded/format-can-data/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: embedded/format-can-data/pyproject.toml | |
- name: Install dependencies | |
working-directory: embedded/format-can-data | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: embedded/format-can-data | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: embedded/format-can-data | |
data-distribution-service-test: | |
name: Data Distribution Service | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.data-distribution-service == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-distribution-service/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-distribution-service/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-distribution-service | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-distribution-service | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-distribution-service | |
dbt-hm-postgres-test: | |
name: dbt (hm-postgres) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.dbt-hm-postgres == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-transformation/dbt/projects/dbt_hm_postgres/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-transformation/dbt/projects/dbt_hm_postgres/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-transformation/dbt/projects/dbt_hm_postgres | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-transformation/dbt/projects/dbt_hm_postgres | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-transformation/dbt/projects/dbt_hm_postgres | |
delta-lake-read-delta-lake-by-amazon-athena-test: | |
name: Delta Lake (read-delta-lake-by-amazon-athena) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.delta-lake-read-delta-lake-by-amazon-athena == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-storage/delta-lake/read-delta-lake-by-amazon-athena/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-storage/delta-lake/read-delta-lake-by-amazon-athena/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-storage/delta-lake/read-delta-lake-by-amazon-athena | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-storage/delta-lake/read-delta-lake-by-amazon-athena | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-storage/delta-lake/read-delta-lake-by-amazon-athena | |
delta-lake-read-delta-lake-by-trino-test: | |
name: Delta Lake (read-delta-lake-by-trino) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.delta-lake-read-delta-lake-by-trino == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-storage/delta-lake/read-delta-lake-by-trino/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-storage/delta-lake/read-delta-lake-by-trino/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-storage/delta-lake/read-delta-lake-by-trino | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-storage/delta-lake/read-delta-lake-by-trino | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-storage/delta-lake/read-delta-lake-by-trino | |
delta-lake-write-to-delta-lake-test: | |
name: Delta Lake (write-to-delta-lake) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.delta-lake-write-to-delta-lake == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-storage/delta-lake/write-to-delta-lake/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-storage/delta-lake/write-to-delta-lake/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-storage/delta-lake/write-to-delta-lake | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-storage/delta-lake/write-to-delta-lake | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-storage/delta-lake/write-to-delta-lake | |
autogluon-test: | |
name: AutoGluon | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-autogluon == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-autogluon/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-autogluon/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-autogluon | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-autogluon | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-autogluon | |
feature-store-test: | |
name: Feature Store | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.feature-store == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/feature-store/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/feature-store/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/feature-store | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/feature-store | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/feature-store | |
geopandas-test: | |
name: GeoPandas | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-geopandas == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-analytics/hm-geopandas/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-analytics/hm-geopandas/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-analytics/hm-geopandas | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-analytics/hm-geopandas | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-analytics/hm-geopandas | |
hugging-face-analyze-sentiment-test: | |
name: Hugging Face (analyze-sentiment) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hugging-face-analyze-sentiment == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hugging-face/analyze-sentiment/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hugging-face/analyze-sentiment/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hugging-face/analyze-sentiment | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hugging-face/analyze-sentiment | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hugging-face/analyze-sentiment | |
gradio-classify-image-test: | |
name: Gradio (classify-image) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-gradio-classify-image == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-gradio/applications/classify-image/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-gradio/applications/classify-image/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-gradio/applications/classify-image | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-gradio/applications/classify-image | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-gradio/applications/classify-image | |
streamlit-live-line-chart-test: | |
name: Streamlit (live-line-chart) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-streamlit-live-line-chart == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-streamlit/applications/live-line-chart/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-streamlit/applications/live-line-chart/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-streamlit/applications/live-line-chart | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-streamlit/applications/live-line-chart | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-streamlit/applications/live-line-chart | |
streamlit-map-test: | |
name: Streamlit (map) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-streamlit-map == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-streamlit/applications/map/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-streamlit/applications/map/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-streamlit/applications/map | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-streamlit/applications/map | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-streamlit/applications/map | |
jax-test: | |
name: JAX | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-jax == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: high-performance-computing/hm-jax/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: high-performance-computing/hm-jax/pyproject.toml | |
- name: Install dependencies | |
working-directory: high-performance-computing/hm-jax | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: high-performance-computing/hm-jax | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: high-performance-computing/hm-jax | |
flax-test: | |
name: Flax | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-flax == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-flax/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-flax/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-flax | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-flax | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-flax | |
kubeflow-calculate-test: | |
name: Kubeflow (calculate) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-kubeflow-calculate == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-kubeflow/pipelines/calculate/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-kubeflow/pipelines/calculate/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-kubeflow/pipelines/calculate | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-kubeflow/pipelines/calculate | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-kubeflow/pipelines/calculate | |
kubeflow-classify-mnist-test: | |
name: Kubeflow (classify-mnist) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-kubeflow-classify-mnist == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-kubeflow/pipelines/classify-mnist/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-kubeflow/pipelines/classify-mnist/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-kubeflow/pipelines/classify-mnist | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-kubeflow/pipelines/classify-mnist | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-kubeflow/pipelines/classify-mnist | |
langchain-chat-pdf-test: | |
name: LangChain (chat-pdf) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-langchain-chat-pdf == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-langchain/applications/chat-pdf/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-langchain/applications/chat-pdf/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-langchain/applications/chat-pdf | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-langchain/applications/chat-pdf | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-langchain/applications/chat-pdf | |
mlflow-classify-mnist-test: | |
name: MLflow (classify-mnist) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-mlflow-classify-mnist == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-mlflow/experiments/classify-mnist/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-mlflow/experiments/classify-mnist/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-mlflow/experiments/classify-mnist | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-mlflow/experiments/classify-mnist | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-mlflow/experiments/classify-mnist | |
mlflow-predict-diabetes-test: | |
name: MLflow (predict-diabetes) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-mlflow-predict-diabetes == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-mlflow/experiments/predict-diabetes/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-mlflow/experiments/predict-diabetes/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-mlflow/experiments/predict-diabetes | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-mlflow/experiments/predict-diabetes | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-mlflow/experiments/predict-diabetes | |
neural-forecasting-forecast-air-passenger-number-test: | |
name: Neural Forecasting (forecast-air-passenger-number) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.neural-forecasting-forecast-air-passenger-number == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/neural-forecasting/forecast-air-passenger-number/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/neural-forecasting/forecast-air-passenger-number/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/neural-forecasting/forecast-air-passenger-number | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/neural-forecasting/forecast-air-passenger-number | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/neural-forecasting/forecast-air-passenger-number | |
national-instruments-hm-pyvisa-test: | |
name: National Instruments (pyvisa) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.national-instruments-hm-pyvisa == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: hardware-in-the-loop/national-instruments/hm-pyvisa/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: hardware-in-the-loop/national-instruments/hm-pyvisa/pyproject.toml | |
- name: Install dependencies | |
working-directory: hardware-in-the-loop/national-instruments/hm-pyvisa | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: hardware-in-the-loop/national-instruments/hm-pyvisa | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: hardware-in-the-loop/national-instruments/hm-pyvisa | |
national-instruments-hm-tdms-test: | |
name: National Instruments (tdms) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.national-instruments-hm-tdms == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: hardware-in-the-loop/national-instruments/hm-tdms/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: hardware-in-the-loop/national-instruments/hm-tdms/pyproject.toml | |
- name: Install dependencies | |
working-directory: hardware-in-the-loop/national-instruments/hm-tdms | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: hardware-in-the-loop/national-instruments/hm-tdms | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: hardware-in-the-loop/national-instruments/hm-tdms | |
national-instruments-hm-veristand-test: | |
name: National Instruments (ni-veristand) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.national-instruments-hm-veristand == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: hardware-in-the-loop/national-instruments/veristand/hm-veristand/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: hardware-in-the-loop/national-instruments/veristand/hm-veristand/pyproject.toml | |
- name: Install dependencies | |
working-directory: hardware-in-the-loop/national-instruments/veristand/hm-veristand | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: hardware-in-the-loop/national-instruments/veristand/hm-veristand | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: hardware-in-the-loop/national-instruments/veristand/hm-veristand | |
open3d-test: | |
name: Open3D | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-open3d == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: computer-vision/hm-open3d/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: computer-vision/hm-open3d/pyproject.toml | |
- name: Install dependencies | |
working-directory: computer-vision/hm-open3d | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: computer-vision/hm-open3d | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: computer-vision/hm-open3d | |
aerosandbox-test: | |
name: AeroSandbox | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-aerosandbox == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: aerospace/hm-aerosandbox/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: aerospace/hm-aerosandbox/pyproject.toml | |
- name: Install dependencies | |
working-directory: aerospace/hm-aerosandbox | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: aerospace/hm-aerosandbox | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: aerospace/hm-aerosandbox | |
openaerostruct-test: | |
name: OpenAeroStruct | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-openaerostruct == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: aerospace/hm-openaerostruct/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: aerospace/hm-openaerostruct/pyproject.toml | |
- name: Install dependencies | |
working-directory: aerospace/hm-openaerostruct | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: aerospace/hm-openaerostruct | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: aerospace/hm-openaerostruct | |
prefect-calculate-test: | |
name: Prefect (calculate) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-prefect-calculate == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-orchestration/hm-prefect/workflows/calculate/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-orchestration/hm-prefect/workflows/calculate/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-orchestration/hm-prefect/workflows/calculate | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-orchestration/hm-prefect/workflows/calculate | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-orchestration/hm-prefect/workflows/calculate | |
prefect-greet-test: | |
name: Prefect (greet) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-prefect-greet == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-orchestration/hm-prefect/workflows/greet/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-orchestration/hm-prefect/workflows/greet/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-orchestration/hm-prefect/workflows/greet | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-orchestration/hm-prefect/workflows/greet | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-orchestration/hm-prefect/workflows/greet | |
prefect-print-platform-test: | |
name: Prefect (print-platform) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-prefect-print-platform == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-orchestration/hm-prefect/workflows/print-platform/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-orchestration/hm-prefect/workflows/print-platform/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-orchestration/hm-prefect/workflows/print-platform | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-orchestration/hm-prefect/workflows/print-platform | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-orchestration/hm-prefect/workflows/print-platform | |
prowler-test: | |
name: Prowler | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-prowler == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-security/hm-prowler/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-security/hm-prowler/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-security/hm-prowler | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-security/hm-prowler | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-security/hm-prowler | |
pulumi-test: | |
name: Pulumi | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-pulumi == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-infrastructure/hm-pulumi/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-infrastructure/hm-pulumi/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-infrastructure/hm-pulumi | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-infrastructure/hm-pulumi | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-infrastructure/hm-pulumi | |
pyvista-mount-saint-helens-test: | |
name: PyVista (mount-saint-helens) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-pyvista-mount-saint-helens == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: computer-vision/hm-pyvista/mount-saint-helens/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: computer-vision/hm-pyvista/mount-saint-helens/pyproject.toml | |
- name: Install dependencies | |
working-directory: computer-vision/hm-pyvista/mount-saint-helens | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: computer-vision/hm-pyvista/mount-saint-helens | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: computer-vision/hm-pyvista/mount-saint-helens | |
ray-calculate-test: | |
name: Ray (calculate) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-ray-calculate == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-computing/hm-ray/applications/calculate/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-computing/hm-ray/applications/calculate/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-computing/hm-ray/applications/calculate | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-computing/hm-ray/applications/calculate | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-computing/hm-ray/applications/calculate | |
ray-process-flight-data-test: | |
name: Ray (process-flight-data) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-ray-process-flight-data == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-computing/hm-ray/applications/process-flight-data/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-computing/hm-ray/applications/process-flight-data/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-computing/hm-ray/applications/process-flight-data | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-computing/hm-ray/applications/process-flight-data | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-computing/hm-ray/applications/process-flight-data | |
reinforcement-learning-cart-pole-test: | |
name: Reinforcement Learning (cart-pole) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.reinforcement-learning-cart-pole == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/reinforcement-learning/cart-pole/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/reinforcement-learning/cart-pole/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/reinforcement-learning/cart-pole | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/reinforcement-learning/cart-pole | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/reinforcement-learning/cart-pole | |
serial-test: | |
name: Serial | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-serial == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: embedded/hm-serial/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: embedded/hm-serial/pyproject.toml | |
- name: Install dependencies | |
working-directory: embedded/hm-serial | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: embedded/hm-serial | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: embedded/hm-serial | |
pack-unpack-data-test: | |
name: Pack Unpack Data | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.pack-unpack-data == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: embedded/pack-unpack-data/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: embedded/pack-unpack-data/pyproject.toml | |
- name: Install dependencies | |
working-directory: embedded/pack-unpack-data | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: embedded/pack-unpack-data | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: embedded/pack-unpack-data | |
skypilot-test: | |
name: SkyPilot | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-skypilot == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: cloud-computing/hm-skypilot/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: cloud-computing/hm-skypilot/pyproject.toml | |
- name: Install dependencies | |
working-directory: cloud-computing/hm-skypilot | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: cloud-computing/hm-skypilot | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: cloud-computing/hm-skypilot | |
quantum-computing-test: | |
name: Quantum Computing | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.quantum-computing == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: quantum-computing/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: quantum-computing/pyproject.toml | |
- name: Install dependencies | |
working-directory: quantum-computing | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: quantum-computing | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: quantum-computing | |
supervision-detect-objects-test: | |
name: supervision (detect-objects) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-supervision-detect-objects == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/hm-supervision/detect-objects/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/hm-supervision/detect-objects/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/hm-supervision/detect-objects | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/hm-supervision/detect-objects | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/hm-supervision/detect-objects | |
xxhash-test: | |
name: xxHash | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-xxhash == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: hm-xxhash/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: hm-xxhash/pyproject.toml | |
- name: Install dependencies | |
working-directory: hm-xxhash | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: hm-xxhash | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: hm-xxhash | |
spark-analyze-coffee-customers-test: | |
name: Spark (analyze-coffee-customers) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-analyze-coffee-customers == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-processing/hm-spark/applications/analyze-coffee-customers/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-processing/hm-spark/applications/analyze-coffee-customers/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-processing/hm-spark/applications/analyze-coffee-customers | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/analyze-coffee-customers | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-processing/hm-spark/applications/analyze-coffee-customers | |
spark-find-retired-people-python-test: | |
name: Spark (find-retired-people-python) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-find-retired-people-python == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-processing/hm-spark/applications/find-retired-people-python/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-processing/hm-spark/applications/find-retired-people-python/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-processing/hm-spark/applications/find-retired-people-python | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/find-retired-people-python | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-processing/hm-spark/applications/find-retired-people-python | |
spark-find-retired-people-scala-test: | |
name: Spark (find-retired-people-scala) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-find-retired-people-scala == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
java-version: '17' | |
cache: sbt | |
- name: Set up sbt | |
uses: sbt/[email protected] | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/find-retired-people-scala | |
run: | | |
sbt test | |
spark-find-taxi-top-routes-test: | |
name: Spark (find-taxi-top-routes) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-find-taxi-top-routes == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-processing/hm-spark/applications/find-taxi-top-routes/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-processing/hm-spark/applications/find-taxi-top-routes/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-processing/hm-spark/applications/find-taxi-top-routes | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/find-taxi-top-routes | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-processing/hm-spark/applications/find-taxi-top-routes | |
spark-find-taxi-top-routes-sql-test: | |
name: Spark (find-taxi-top-routes-sql) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-find-taxi-top-routes-sql == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-processing/hm-spark/applications/find-taxi-top-routes-sql/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-processing/hm-spark/applications/find-taxi-top-routes-sql/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-processing/hm-spark/applications/find-taxi-top-routes-sql | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/find-taxi-top-routes-sql | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-processing/hm-spark/applications/find-taxi-top-routes-sql | |
spark-ingest-from-s3-to-kafka-test: | |
name: Spark (ingest-from-s3-to-kafka) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-ingest-from-s3-to-kafka == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
java-version: '17' | |
cache: sbt | |
- name: Set up sbt | |
uses: sbt/[email protected] | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/ingest-from-s3-to-kafka | |
run: | | |
sbt test | |
spark-recommend-movies-test: | |
name: Spark (recommend-movies) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-spark-recommend-movies == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-processing/hm-spark/applications/recommend-movies/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-processing/hm-spark/applications/recommend-movies/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-processing/hm-spark/applications/recommend-movies | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-processing/hm-spark/applications/recommend-movies | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-processing/hm-spark/applications/recommend-movies | |
flink-stream-tweets-test: | |
name: Flink (stream-tweets) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.flink-stream-tweets == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
distribution: corretto | |
java-version: '11' | |
cache: maven | |
- name: Test | |
working-directory: data-processing/flink/applications/stream-tweets | |
run: | | |
mvn test | |
kafka-rust-proto-consumer-test: | |
name: Kafka Rust (proto-consumer) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.kafka-rust-proto-consumer == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# librdkafka is for rdkafka | |
- name: Install librdkafka | |
run: | | |
# https://github.com/edenhill/librdkafka#build-from-source | |
wget --no-verbose --output-document=librdkafka.tar.gz https://github.com/edenhill/librdkafka/archive/refs/tags/v2.6.0.tar.gz | |
tar -x -f librdkafka.tar.gz | |
rm -f librdkafka.tar.gz | |
cd librdkafka-2.6.0 | |
./configure | |
make | |
sudo make install | |
sudo ldconfig | |
cd .. | |
rm -r -f librdkafka-2.6.0/ | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: hm-kafka/kafka-client/kafka-rust/proto-consumer | |
run: | | |
cargo build | |
- name: Test | |
working-directory: hm-kafka/kafka-client/kafka-rust/proto-consumer | |
run: | | |
cargo test --all-features | |
kafka-rust-proto-producer-test: | |
name: Kafka Rust (proto-producer) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.kafka-rust-proto-producer == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# librdkafka is for rdkafka | |
- name: Install librdkafka | |
run: | | |
# https://github.com/edenhill/librdkafka#build-from-source | |
wget --no-verbose --output-document=librdkafka.tar.gz https://github.com/edenhill/librdkafka/archive/refs/tags/v2.6.0.tar.gz | |
tar -x -f librdkafka.tar.gz | |
rm -f librdkafka.tar.gz | |
cd librdkafka-2.6.0 | |
./configure | |
make | |
sudo make install | |
sudo ldconfig | |
cd .. | |
rm -r -f librdkafka-2.6.0/ | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: hm-kafka/kafka-client/kafka-rust/proto-producer | |
run: | | |
cargo build | |
- name: Test | |
working-directory: hm-kafka/kafka-client/kafka-rust/proto-producer | |
run: | | |
cargo test --all-features | |
kafka-rust-udp-kafka-bridge-test: | |
name: Kafka Rust (udp-kafka-bridge) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.kafka-rust-udp-kafka-bridge == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# librdkafka is for rdkafka | |
- name: Install librdkafka | |
run: | | |
# https://github.com/edenhill/librdkafka#build-from-source | |
wget --no-verbose --output-document=librdkafka.tar.gz https://github.com/edenhill/librdkafka/archive/refs/tags/v2.6.0.tar.gz | |
tar -x -f librdkafka.tar.gz | |
rm -f librdkafka.tar.gz | |
cd librdkafka-2.6.0 | |
./configure | |
make | |
sudo make install | |
sudo ldconfig | |
cd .. | |
rm -r -f librdkafka-2.6.0/ | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: hm-kafka/kafka-client/kafka-rust/udp-kafka-bridge | |
run: | | |
cargo build | |
- name: Test | |
working-directory: hm-kafka/kafka-client/kafka-rust/udp-kafka-bridge | |
run: | | |
cargo test --all-features | |
kafka-rust-zeromq-kafka-bridge-test: | |
name: Kafka Rust (zeromq-kafka-bridge) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.kafka-rust-zeromq-kafka-bridge == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# librdkafka is for rdkafka | |
- name: Install librdkafka | |
run: | | |
# https://github.com/edenhill/librdkafka#build-from-source | |
wget --no-verbose --output-document=librdkafka.tar.gz https://github.com/edenhill/librdkafka/archive/refs/tags/v2.6.0.tar.gz | |
tar -x -f librdkafka.tar.gz | |
rm -f librdkafka.tar.gz | |
cd librdkafka-2.6.0 | |
./configure | |
make | |
sudo make install | |
sudo ldconfig | |
cd .. | |
rm -r -f librdkafka-2.6.0/ | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: hm-kafka/kafka-client/kafka-rust/zeromq-kafka-bridge | |
run: | | |
cargo build | |
- name: Test | |
working-directory: hm-kafka/kafka-client/kafka-rust/zeromq-kafka-bridge | |
run: | | |
cargo test --all-features | |
udp-receiver-test: | |
name: UDP Receiver | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.udp-receiver == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: network-programmability/udp/udp-receiver | |
run: | | |
cargo build | |
- name: Test | |
working-directory: network-programmability/udp/udp-receiver | |
run: | | |
cargo test --all-features | |
udp-sender-test: | |
name: UDP Sender | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.udp-sender == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: network-programmability/udp/udp-sender | |
run: | | |
cargo build | |
- name: Test | |
working-directory: network-programmability/udp/udp-sender | |
run: | | |
cargo test --all-features | |
opa-test: | |
name: OPA | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.api-go == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Download OPA Binary | |
run: | | |
curl --silent --fail --show-error --location --output opa https://openpolicyagent.org/downloads/latest/opa_linux_amd64 | |
chmod 755 ./opa | |
- name: Test | |
run: | | |
./opa test api-go/internal/graphql_server/policies/*.rego -v | |
ros-test: | |
name: ROS | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.robot-operating-system == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 20 | |
container: | |
image: ubuntu:noble | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup ROS | |
uses: ros-tooling/[email protected] | |
with: | |
required-ros-distributions: jazzy | |
- name: Build and test | |
uses: ros-tooling/[email protected] | |
with: | |
package-name: turtle_robot | |
target-ros2-distro: jazzy | |
prometheus-test: | |
name: Prometheus | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.prometheus == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Test | |
run: | | |
docker build --file=data-storage/prometheus/Dockerfile.test . | |
grafana-hm-dashboard-test: | |
name: Grafana (hm-dashboard) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.grafana-hm-dashboard == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: data-visualization/grafana/hm-dashboard/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: data-visualization/grafana/hm-dashboard/pyproject.toml | |
- name: Install dependencies | |
working-directory: data-visualization/grafana/hm-dashboard | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: data-visualization/grafana/hm-dashboard | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: data-visualization/grafana/hm-dashboard | |
iads-iads-data-producer-test: | |
name: IADS (iads-data-producer) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.iads-iads-data-producer == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: data-visualization/iads/iads-data-producer | |
run: | | |
cargo build | |
- name: Test | |
working-directory: data-visualization/iads/iads-data-producer | |
run: | | |
cargo test --all-features | |
iads-zeromq-iads-bridge-test: | |
name: IADS (zeromq-iads-bridge) | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.iads-zeromq-iads-bridge == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# protoc is for prost | |
- name: Install protoc | |
uses: arduino/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: 28.3 | |
- name: Set up Rust | |
uses: actions-rust-lang/[email protected] | |
- name: Install dependencies | |
working-directory: data-visualization/iads/zeromq-iads-bridge | |
run: | | |
cargo build | |
- name: Test | |
working-directory: data-visualization/iads/zeromq-iads-bridge | |
run: | | |
cargo test --all-features | |
hm-opal-client-build: | |
name: HM OPAL Client | Build | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-opal-client == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up Docker Buildx | |
uses: docker/[email protected] | |
- name: Build Docker image | |
uses: docker/[email protected] | |
with: | |
context: . | |
file: ./authorization/hm-opal-client/Dockerfile | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
rasa-test: | |
name: Rasa | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.hm-rasa == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Train and test | |
uses: RasaHQ/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
workspace: ${{ github.workspace }}/machine-learning/hm-rasa | |
graph-neural-network-test: | |
name: GNN | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.graph-neural-network == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/graph-neural-network/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/graph-neural-network/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/graph-neural-network | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/graph-neural-network | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/graph-neural-network | |
graph-neural-network-train: | |
name: GNN | Train | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.graph-neural-network == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up CML | |
uses: iterative/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/graph-neural-network/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/graph-neural-network/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/graph-neural-network | |
run: | | |
uv sync --dev | |
- name: Train model | |
working-directory: machine-learning/graph-neural-network | |
env: | |
WANDB_MODE: offline | |
run: | | |
uv run poe dev --dataset=ogbg-molhiv --gnn=gcn --feature=simple --epochs=2 | |
convolutional-neural-network-test: | |
name: CNN | Test | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.convolutional-neural-network == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/convolutional-neural-network/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/convolutional-neural-network/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/convolutional-neural-network | |
run: | | |
uv sync --dev | |
- name: Test | |
working-directory: machine-learning/convolutional-neural-network | |
run: | | |
uv run poe test-coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
directory: machine-learning/convolutional-neural-network | |
convolutional-neural-network-cml-local-train: | |
name: CNN | CML (Local) - Train | |
needs: detect-changes | |
if: ${{ needs.detect-changes.outputs.convolutional-neural-network == 'true' }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up CML | |
uses: iterative/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/convolutional-neural-network/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/convolutional-neural-network/pyproject.toml | |
- name: Install dependencies | |
working-directory: machine-learning/convolutional-neural-network | |
run: | | |
uv sync --dev | |
- name: Train model | |
working-directory: machine-learning/convolutional-neural-network | |
shell: bash -l {0} | |
env: | |
WANDB_MODE: offline | |
run: | | |
uv run poe dev --should_download_original_data=True | |
- name: Write CML report | |
working-directory: machine-learning/convolutional-neural-network | |
shell: bash -l {0} | |
env: | |
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
echo "# CML (Local) Report" >> report.md | |
echo "## Params" >> report.md | |
cat output/reports/params.txt >> report.md | |
cml comment create report.md | |
convolutional-neural-network-cml-cloud-set-up: | |
name: CNN | CML (Cloud) - Set Up | |
runs-on: ubuntu-24.04 | |
environment: test | |
needs: detect-changes | |
if: ${{ false }} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Set up CML | |
uses: iterative/[email protected] | |
- name: Set up cloud | |
shell: bash | |
env: | |
REPO_TOKEN: ${{ secrets.CML_ACCESS_TOKEN }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
run: | | |
cml-runner \ | |
--cloud=aws \ | |
--cloud-region=us-west-2 \ | |
--cloud-type=t2.small \ | |
--labels=cml-runner | |
convolutional-neural-network-cml-cloud-train: | |
name: CNN | CML (Cloud) - Train | |
needs: convolutional-neural-network-cml-cloud-set-up | |
runs-on: [self-hosted, cml-runner] | |
environment: test | |
# container: | |
# image: docker://iterativeai/cml:0-dvc2-base1-gpu | |
container: | |
image: docker://iterativeai/cml:0-dvc2-base1 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install uv | |
uses: astral-sh/[email protected] | |
with: | |
version: 0.5.2 | |
enable-cache: true | |
cache-dependency-glob: machine-learning/convolutional-neural-network/uv.lock | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: machine-learning/convolutional-neural-network/pyproject.toml | |
- name: Install dependencies | |
working-directory: convolutional-neural-network | |
run: | | |
uv sync --dev | |
- name: Pull Data | |
working-directory: convolutional-neural-network | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
run: | | |
uv run poe dvc-pull | |
- name: Train model | |
working-directory: convolutional-neural-network | |
shell: bash -l {0} | |
env: | |
WANDB_API_KEY: ${{ secrets.WANDB_API_KEY }} | |
run: | | |
uv run poe dvc-repro | |
- name: Write CML report | |
working-directory: convolutional-neural-network | |
shell: bash -l {0} | |
env: | |
REPO_TOKEN: ${{ secrets.CML_ACCESS_TOKEN }} | |
run: | | |
echo "# CML (Cloud) Report" >> report.md | |
echo "## Params" >> report.md | |
cat output/reports/params.txt >> report.md | |
cml comment create report.md | |
code-review: | |
name: Code Review | |
if: ${{ false }} | |
runs-on: ubuntu-24.04 | |
environment: test | |
timeout-minutes: 10 | |
permissions: | |
contents: read | |
pull-requests: write | |
steps: | |
- name: Code Review | |
uses: anc95/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} |