Skip to content

Add BC check to CI#350

Closed
zajca wants to merge 1 commit intomasterfrom
zajca-bc-check
Closed

Add BC check to CI#350
zajca wants to merge 1 commit intomasterfrom
zajca-bc-check

Conversation

@zajca
Copy link
Copy Markdown
Member

@zajca zajca commented Oct 3, 2019

add Roave/BackwardCompatibilityCheck to CI

PoC

$ docker run --rm -v `pwd`:/app nyholm/roave-bc-check roave-backwards-compatibility-check:assert-backwards-compatible --from 10.6.0 --to 10.7.0

result:

[BC] CHANGED: The parameter $permissions of Keboola\StorageApi\Client#createToken() changed from no type to a non-contravariant Keboola\StorageApi\Options\TokenCreateOptions
[BC] CHANGED: The parameter $permissions of Keboola\StorageApi\Client#createToken() changed from no type to Keboola\StorageApi\Options\TokenCreateOptions
[BC] CHANGED: The parameter $tokenId of Keboola\StorageApi\Client#updateToken() changed from no type to a non-contravariant Keboola\StorageApi\Options\TokenUpdateOptions
[BC] CHANGED: The parameter $tokenId of Keboola\StorageApi\Client#updateToken() changed from no type to Keboola\StorageApi\Options\TokenUpdateOptions

@tomasfejfar
Copy link
Copy Markdown
Contributor

A udělal jsi PoC, že když něco změníš, tak že to failne?

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 3, 2019

A udělal jsi PoC, že když něco změníš, tak že to failne?

Přidal sem do PR command, který ukáže BC mezi verzemi 10.6.0 a 10.7.0

Stačí to jako PoC? nebo máš na mysl něco jiného?

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 3, 2019

Nevím teda jestli by ten check neměl být jen on tag, ale to mě přijde pozdě, zas takto ti to neumožní BC ani když chceš udělat major verzi 😕

@odinuv
Copy link
Copy Markdown
Member

odinuv commented Oct 3, 2019

interesantni!

@tomasfejfar
Copy link
Copy Markdown
Contributor

Stačí to jako PoC? nebo máš na mysl něco jiného?

Přesně to jsem myslel 👍

@odinuv
Copy link
Copy Markdown
Member

odinuv commented Oct 3, 2019

a kdyby se to pridalo do deploy sekce ?

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 4, 2019

a kdyby se to pridalo do deploy sekce ?

To by asi šlo, akorát nesmíš udělat tag než skončí testy v masteru.

Nebo by se ten BC check dal na konec testú a prostě pokud by byl po PR major release tak bys ho mergnul i když neprošel přes travis.

@odinuv
Copy link
Copy Markdown
Member

odinuv commented Oct 4, 2019

po PR major release tak bys ho mergnul i když neprošel přes travis.

to ne, to je desne chaosivni

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 4, 2019

Ještě když nad tím přemýšlím tak to bude fungovat teda takto:

  • Uděláš PR po kterém teda major release.
  • Merdžneš PR do masteru
  • Při deploy ti failne test protože je tam BC
  • Uděláš tag a deploy projde :)

@tomasfejfar
Copy link
Copy Markdown
Contributor

https://twitter.com/tomasfejfar/status/1180067311270670336

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 4, 2019

screenshot_2019-10-04-140643
Takže je to otázka našeho workflow. Někde to prostě failne je na nás kde :)

@odinuv
Copy link
Copy Markdown
Member

odinuv commented Oct 4, 2019

imho bysme to potrebovali taknejak ze:

latest tag = x.y.z 
current tag = x1.y1.z1
if x = x1 and y = y1:
   run the check
else
   do nothing

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 4, 2019

Kdyby toto mergnuli travis-ci/travis-build#1319 (comment) tak by šlo na základě PR dělat nebo nedělat ten BC check, dali bysme pravidlo, že musí být v title třeba [major] aby sa check skipnul.

@zajca
Copy link
Copy Markdown
Member Author

zajca commented Oct 4, 2019

:D takto by to šlo

#!/bin/bash

PULL_NAME=$(curl -H "Authorization: token $GITHUB_API_TOKEN" "https://api.github.com/repos/$TRAVIS_REPO_SLUG/pulls/$TRAVIS_PULL_REQUEST" | jq -r '.title')

if [ "false" = "$PULL_NAME" ]; then
    exit 0;
fi

if [[ $PULL_NAME == "[MAJOR]"* ]]; then
    exit 0;
fi

docker run --rm -v `pwd`:/app nyholm/roave-bc-check

@zajca zajca closed this Apr 26, 2022
@jirkasemmler jirkasemmler deleted the zajca-bc-check branch March 8, 2024 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants