Skip to content

♻️refactor: rework patches and breaking change handling#29

Merged
jobs62 merged 5 commits into
mainfrom
chore/hacks
Jun 30, 2025
Merged

♻️refactor: rework patches and breaking change handling#29
jobs62 merged 5 commits into
mainfrom
chore/hacks

Conversation

@jobs62

@jobs62 jobs62 commented Jun 26, 2025

Copy link
Copy Markdown
Contributor

The previous implementation relied on a stateful old-outscale.yaml file for type backporting, which resulted in inconsistent implementations and made it difficult to re-run the workflow reliably.

The new implementation adopt a stateless approach and introduces a more modular structure for applying hacks.
Ideally, patches should be declared within each SDK's builder and this repository should serve solely as a workflow
orchestrator and toolbox.

However, for backward compatibility with the current workflow, all patches , the build.sh script, and build artifacts (outscale.yaml, outscale-*.yaml) are still committed to this repository for now.

Additionally, a workflow has been added to prevent future breacking changes.

jobs62 added 3 commits June 20, 2025 11:54
Digging knwoladge back from hacks as well as trying to make it easier to
maintain, understand and modify.

the main goal is to centralise workarounds and knowladge about why they
exists and how they came to be. The secondary goal was to reduce the
amount of state to make is reproductible without rolling back
old-outscale.yaml

Upgrading Ruby from 3.0 to 3.3 in the process, as well as resionalise
shebangs to make it more nix-shell frendly.
Add Dockerfile to build container that could be used in other sdk
builder. The rationnals is that each sdk should patch openapi spec for
their own benefits.

Fix no date-time patch to remove format in array as well.
Previous attempts prove to be limited because their are too generaliste.
introducing a new patch finishing to reduce divengence between
implementations
@jobs62 jobs62 self-assigned this Jun 26, 2025
Previous implementation relie on a state `old-outscale.yaml` for doing
type backporting which result in inconsistant implementation in SDKs and
the unability to re-run easeliy the workflow.

This now implementation relis on a stateless aproche and a more modulare
implementaions of hacks. In a ideal world, patches should be declared in
the builder on each SDK and this repositorie whould only be a workflow
dispatcher and a toolbox. However, for backward compabilility of present
workflow, all patches ,`build.sh` and build artifacts (outscale.yaml,
outscale-*.yaml) are still commited to this repositorie for now.

A Workflow have also been added to avoid future bracking chages as well
Comment thread hacks/README.md Outdated
Comment thread hacks/README.md Outdated
Comment thread hacks/README.md Outdated
Comment thread hacks/README.md Outdated
Comment thread hacks/README.md Outdated
Comment thread hacks/README.md Outdated
Comment thread .github/workflows/check.yaml
@jobs62 jobs62 merged commit cfbbbd3 into main Jun 30, 2025
2 of 6 checks passed
@jobs62 jobs62 deleted the chore/hacks branch December 22, 2025 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants