Help me deploy Travis on my repo

Why is this here?
After 5 days of effort i decided to take the issue here, because i’m at the edge of losing all my sanity and travis’s documments are not really helpful since i don’t even know how should this be implemented at the first place assuming travis’s limitations

What are you trying to do
I’m trying to deploy Travis-CI on my repository (https://github.com/Kreyrock/Kreyrock) which is blocked by travis using outdated linux systems which doesn’t have the packages i need (libfuse3-dev on apt-based)

Why are you not using other CIs?
My repository should have configuration for all available CIs in case contributor wants to use different CI (users are expected to maintain it’s own fork and submit patches/replace mine)

Tried solutions

  • Update travis’s VM
    I tried to parse a new sources.list to install required packages by updating travis’s relevant dependencies from bionic on disco which didn’t work, because travis’s machine is too slow to process the request before hitting the timeout (https://travis-ci.org/Kreyrock/Kreyrock/builds/618842835#L20390)

  • Docker
    Trying to parse docker image to process the request results in an issue with authentification to gain access to the repository

Getting it on the docker image itself: https://travis-ci.org/Kreyrock/Kreyrock/jobs/619486431#L955

Trying to execute it locally: https://travis-ci.org/Kreyrock/Kreyrock/jobs/619474616#L955

Ideal solution
Expecting the ability to run custom built Linux From Source with paludis package manager with the ability to cache the environment with required dependencies reasoning being faster and more efficient runtime compared to ‘bloated’ binary distros.

Referenced repository is my fork of Bedrock Linux which is Meta-distribution so ideally i need a way to test it’s functions on runtime which are

  • Test various unix-like distribution using the --hijack feature which effectively converts host system on my distribution using host kernel
  • Test sandboxing other unix-like distros in test environment and testing as much functions as possible

Ability to deploy package instructions for various package managers (basically running commands that creates that package for it to be then uploaded in releases on demand)

Avoid checking whole repository where possible on merge request for only new changes assuming previous merge was successful.


Tracking
Stage 1 - Get bare minimum working

  • Run make check on any linux system that has all the dependencies

Stage 2 - Get all other requirements to test as many functions as possible

  • Stub - will be written based on result in stage 1

Thanks for any help


EDIT: Sorry for the previous title i forgot to change it prior to publishing it…

Imprint