eclipse-score / eclipse-score/toolchains_gcc_packages

Automate pacakge creation of QNX SDP using QNX Software Center

Open
#16 0 comments 0 reactions 1 assignee Claimed by @nradakovic View on GitHub
documentation enhancement p3 version release
Dominant language
Shell
Stars
0
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Summary
Implement automation for creating and publishing QNX SDP packages from the QNX Software Center.

The automation should provide a reproducible way to generate a package for a specific QNX SDP version, split the resulting package by target CPU architecture, and publish the generated packages as GitHub release artifacts using the provided release tag.

The implementation should avoid creating a single package containing all supported target platforms. Instead, QNX SDP content should be packaged independently for each supported target platform.

## Goal
Provide a fully automated workflow that:
- Retrieves and prepares the requested QNX SDP version from the QNX Software Center
- Generates platform-specific packages
- Publishes the generated packages as GitHub release artifacts
- Uses the provided release tag to identify and version the published packages

For example, providing `8.0.5` as the input should result in packages containing the corresponding QNX SDP version for each supported target platform.

## Scope
The implementation should cover:
- QNX Software Center integration
- QNX SDP version selection and retrieval
- Automated package generation
- Platform-specific package splitting
- Package validation
- GitHub Actions workflow implementation
- GitHub release creation and artifact publishing

The initial target platforms are:
- `x86_64-qnx_sdp`
- `aarch64-qnx_sdp`

## Proposed Deliverables
- GitHub Actions workflow for automated QNX SDP package generation
- Configurable QNX SDP version input
- Automated retrieval of the requested SDP version from the QNX Software Center
- Platform-specific package generation for:
- `x86_64-qnx_sdp`
- `aarch64-qnx_sdp`
- Validation that generated packages contain the expected SDP content
- Automated GitHub release creation using the provided release tag
- Generated QNX SDP packages attached to the corresponding GitHub release
- Documentation describing the workflow, inputs, prerequisites, and generated artifacts
- Documentation of required QNX Software Center credentials/licensing and GitHub configuration

## Validation Expectations
Before closing this issue, verify:
- A requested QNX SDP version can be retrieved successfully from the QNX Software Center
- The generated packages contain the expected SDP version
- `x86_64-qnx_sdp` and `aarch64-qnx_sdp` packages are generated independently
- Packages do not contain unnecessary content for other target platforms
- Generated packages can be consumed by the intended S-CORE toolchain packaging workflow
- The workflow fails clearly when the requested SDP version is unavailable or invalid
- GitHub release artifacts are generated with the expected names and versions
- The provided Git tag is used consistently for the GitHub release and its artifacts
- Credentials and licensing information are handled securely and are not included in generated packages or logs

## Acceptance Criteria
- A QNX SDP version can be provided as an input to the automation
- The requested SDP version is retrieved automatically from the QNX Software Center
- Separate packages are generated for `x86_64-qnx_sdp` and `aarch64-qnx_sdp`
- Each package contains only the content required for its respective target platform
- Generated packages are validated before publishing
- GitHub Actions can create a release using the provided tag
- The generated platform-specific packages are attached to the corresponding GitHub release
- No QNX credentials, licenses, or other sensitive information are included in the published artifacts
- The complete process is documented and reproducible

## Checklist
- [ ] Define QNX SDP version workflow input
- [ ] Define QNX Software Center authentication and licensing mechanism
- [ ] Implement automated SDP retrieval
- [ ] Implement SDP package extraction/preparation
- [ ] Implement `x86_64-qnx_sdp` package generation
- [ ] Implement `aarch64-qnx_sdp` package generation
- [ ] Verify platform-specific package contents
- [ ] Define package naming and versioning convention
- [ ] Add package validation
- [ ] Implement GitHub Actions release workflow
- [ ] Publish generated packages as GitHub release artifacts
- [ ] Validate release/tag handling
- [ ] Verify credentials and license information are not exposed
- [ ] Document workflow usage and prerequisites
- [ ] Document generated package structure
- [ ] Document known limitations

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.