Uma alternativa, pelo que entendi ai, seria no seu build do framework colocar no nome dele um HASH (ou string aleatória) porque ai pra você atualizar no projeto que puxa o Framework, você teria que atualizar na mão.

Usando a CDN do Boostrap, na hora do build ao invés de gerar um "bootstrap.min.js", e chamar a URL "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js". Você geraria um arquivo "bootstrap[8a7h281ha].min.js" e chamaria a URL com esse nome em específico. Assim sempre teria que atualizar manualmente no projeto que carrega o framework e teria certeza de qual versão/release/etc está usando.

Acho que seria +- isso aqui https://webpack.js.org/guides/caching/

Além de usar hash teriam outras estratégias, mas acho que seria +- essa a forma mais fácil se você quer que realmente só atualize quando você queira.

Neste caso então, a minha estrutura de arquivos precisa ser de uma forma que tenha algum build? Nao poderia ter apenas um arquivo js? Pergunto pois o meu "framework" na verdade é apenas um arquivo js com diversas funções, me perdoe a ignorância no assunto, estou realmente iniciando nesta área de CI/CD.

Muito obrigado pela ajuda!

Ahhh sim... Achei que era algum projeto com build e etc. Não entendi que o foco era a parte de CI/CD... Nesse caso você poderia colocar algum processo de renomear o arquivo JS pra algum valor único na hora de subir pra CDN... Talvez colocando no nome a data que foi feito enviado o arquivo JS pra CDN...