zarfld / LinuxCnc_PokeysLibComp

Pokeys comp for LinuxCnc using https://bitbucket.org/mbosnak/pokeyslib.git
MIT License
5 stars 0 forks source link

Improve CI Pipeline to Handle Dependency Installation and Build Errors #46

Closed zarfld closed 1 day ago

zarfld commented 2 days ago

Issue: Improve CI Pipeline to Handle Dependency Installation and Build Errors

Description

The current CI pipeline for the LinuxCNC_PokeysLibComp repository occasionally fails due to issues related to package installations, missing dependencies, or build errors. To enhance the reliability and robustness of the pipeline, we propose the following improvements:

  1. Retry Logic for Package Installation: Implement retry logic for apt-get to handle transient issues during package installation.

  2. Cache Dependencies: Use GitHub Actions caching to store build artifacts, package lists, and dependencies to speed up future runs and avoid repeated installations.

  3. Matrix Builds: Test the project against multiple versions of Ubuntu (e.g., 18.04, 20.04, 22.04) to ensure compatibility with different environments.

  4. Use the Latest Version of PoKeysLib: Integrate the latest version of PoKeysLib in the CI pipeline. Clone the repository from PoKeysLib Repository and ensure it is built and tested alongside the LinuxCNC_PokeysLibComp components.

  5. Automate Workflow for Failures: If a build fails due to missing packages or dependency errors, implement automated solutions to handle such cases (e.g., cleaning up, updating package lists, or providing custom repositories).

Tasks

Reference Links:

i curently get these errors: Current runner version: '2.319.1' Operating System Runner Image Runner Image Provisioner GITHUB_TOKEN Permissions Secret source: Actions Prepare workflow directory Prepare all required actions Getting action download info Error: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v[2](https://github.com/zarfld/LinuxCnc_PokeysLibComp/actions/runs/11076741051/job/30780476074#step:1:2). Learn more: https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/