Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: Use pip-compile-cross-platform #17307

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jangalda-nsc
Copy link
Contributor

pip-compile does not support generating one output file for different environments (operating systems) If we run it on Linux, it drops all packages which available only onl Windows (like windows-curses).

pip-compile-cross-platform passes conditional markers from input files to output one.

@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Sep 13, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Sep 13, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 3

Inputs:

Sources:

sdk-nrf: PR head: 5ef630271fb41c5b06b5be68a4ab87b264755053

more details

sdk-nrf:

PR head: 5ef630271fb41c5b06b5be68a4ab87b264755053
merge base: ca2219e2b85e60fd6e9d948f0f059eeb97dd27a3
target head (main): f7258d0ad63ff6f736b08f60b9d4c2e28398de68
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (3)
scripts
│  ├── requirements-build.txt
│  ├── requirements-ci.txt
│  │ requirements-fixed.txt

Outputs:

Toolchain

Version: 0c9ca97121
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:0c9ca97121_81ed5a52d6

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ✅ Toolchain
  • ✅ Build twister
    • sdk-nrf test count: 36
  • ✅ Integration tests
Disabled integration tests
    • desktop52_verification
    • doc-internal
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-boot
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_cloud
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-proprietary_esb
    • test-fw-nrfconnect-ps
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread
    • test-fw-nrfconnect-zigbee
    • test-low-level
    • test-sdk-audio
    • test-sdk-dfu
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-pmic-samples
    • test-sdk-sidewalk
    • test-sdk-wifi
    • test-secdom-samples-public

Note: This message is automatically posted and updated by the CI

@tejlmand
Copy link
Contributor

tejlmand commented Oct 3, 2024

pip-compile does not support generating one output file for different environments (operating systems) If we run it on Linux, it drops all packages which available only onl Windows (like windows-curses).

I understand the issue, but is this the only way around that problem ?
Cause with this change we loose valuable information regarding why a specific package was include, like this:

aenum==3.1.15             # via -r nrf/scripts/requirements-ci.txt
anytree==2.9.0            # via -r zephyr/scripts/requirements-base.txt, -r zephyr/scripts/requirements-extras.txt
appdirs==1.4.4            # via cmsis-pack-manager
arrow==1.2.1              # via gitlint-core
astroid==3.0.1            # via pylint
...

pip-compile does not support generating one output file for different
environments (operating systems) If we run it on Linux, it drops all
packages which available only onl Windows (like windows-curses).

pip-compile-cross-platform passes conditional markers from input files
to output one.

Signed-off-by: Jan Gałda <[email protected]>
#
# pip-compile --allow-unsafe --annotation-style=line --output-file=nrf/scripts/requirements-fixed.txt --strip-extras bootloader/mcuboot/scripts/requirements.txt nrf/scripts/requirements-ci.txt nrf/scripts/requirements-extra.txt nrf/scripts/requirements.txt zephyr/scripts/requirements.txt
# pip-compile-cross-platform bootloader/mcuboot/scripts/requirements.txt nrf/scripts/requirements-ci.txt nrf/scripts/requirements-extra.txt nrf/scripts/requirements.txt zephyr/scripts/requirements.txt --output-file nrf/scripts/requirements-fixed.txt --min-python-version 3.9
Copy link
Contributor

Choose a reason for hiding this comment

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

should we use "--min-python-version 3.12"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants