The format for deprecation is "option deprecated" now,
so harmonize the in-progress marking to logically be
"option in_progress"
At the same time recognize the legacy/erroneous
types of marking, print the warning.
Change-Id: If418dfadd69ffb112550164d63d13420e51cefd7
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 6a3d4cc9a1)
in-progress messages do not give any API stability guarantees,
by design, to allow easy iteration. Provide an easy way
to know which messages are in-progress.
If as a user you see "in-progress" message that you want
to use in production, please contact the feature owner
and discuss the path to removing the "in-progress" status
before that.
Change-Id: I27729995e26a70af373e642b871dbb5cc5526959
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 8b0cd69d31)
Report if the messages were marked as deprecated,
but not yet deleted.
Useful for building the release notes and comparing
between the releases.
Also, put the dict_compare() call into the report(),
since latter always consumes the output of the former.
Change-Id: Iceab3e94ff66da931a4669b612026bd162dd5d1a
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 62bd50de97)
Added external dependancies package. Updated the startup.conf template.
Fix extras/scripts/check_commit_msg so it accepts '_' characters in
feature names.
Type: fix
Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: I69c33a24b30d31e5b8081021030bff88cbaeace9
Signed-off-by: Dave Barach <dave@barachs.net>
crcchecker is a tool for enforcement of the binary API.
1. Production APIs should never change.
2. An API can be deprecated across three release cycles.
Release 1: API is marked as deprecated.
option deprecated="vyy.mm";
option replaced_by="new_api_2";
Release 2: both old and new APIs are supported
Release 3: the deprecated API is deleted.
3. APIs that are experimental / not released are not checked.
An API message can be individually marked as in progress, by:
option status="in_progress";
In the API definition.
The definition of a "production API" is if the major version in the API file is > 0.
extras/scripts/crcchecker.py --check-patchset # returns -1 if backwards incompatible
extras/scripts/crcchecker.py --dump-manifest
extras/scripts/crcchecker.py --git-revision v20.01 <files>
extras/scripts/crcchecker.py -- diff <oldfile> <newfile>
This patch integrates the tool in "make checkstyle-api".
A future patch is required to integrate the tool in the verify job.
I.e. this patch does not enable enforcement through Jenkins.
Change-Id: I5f13c0976d8a12a58131b3e270f2dc9c00dc7d8c
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Bang on sed until a better incantation appears.
Change-Id: Ib8ad0996b6325db0fe983c86dd7dc553c9d388c4
Type: fix
Fixes: 26ce6ca1fe
Signed-off-by: Jon Loeliger <jdl@netgate.com>
- Notes for the 18.04 release
- Fixes for table layout of previous API summary
- Update list_api_changes.py script
Change-Id: Id99ed4df2e76e2704f949ee940eedf9ede7e8f4b
Signed-off-by: Chris Luke <chrisy@flirble.org>
(cherry picked from commit ac2b7363f4)
- Move Coverity scripts from build-root/scripts to extras/scripts
- Update coverity-build with new path and add some comments
Change-Id: I1be8069fb574aaacbac9b7f2c9c80b9aad1790ec
Signed-off-by: Chris Luke <chrisy@flirble.org>