-
Notifications
You must be signed in to change notification settings - Fork 646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add versioning support and update CMake configuration #3933
Open
lum1n0us
wants to merge
4
commits into
bytecodealliance:main
Choose a base branch
from
lum1n0us:feat/add_soname
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
c3cfe78
Add versioning support and update CMake configuration
lum1n0us 7975752
Add versioning information for libraries and executables across multi…
lum1n0us c66f147
Refactor versioning documentation and adopt semantic versioning guide…
lum1n0us 7bcdcf5
Remove deprecated version.h file and update versioning documentation
lum1n0us File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Copyright (C) 2019 Intel Corporation. All rights reserved. | ||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
|
||
if(NOT WAMR_ROOT_DIR) | ||
# if from wamr-compiler | ||
set(WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..) | ||
endif() | ||
|
||
set(WAMR_VERSION_MAJOR 2) | ||
set(WAMR_VERSION_MINOR 2) | ||
set(WAMR_VERSION_PATCH 0) | ||
|
||
message("-- WAMR version: ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH}") | ||
|
||
# Configure the version header file | ||
configure_file( | ||
${WAMR_ROOT_DIR}/core/version.h.in | ||
${WAMR_ROOT_DIR}/core/version.h | ||
) | ||
|
||
# Set the library version and SOVERSION | ||
function(set_version_info target) | ||
set_target_properties(${target} | ||
PROPERTIES | ||
VERSION ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH} | ||
SOVERSION ${WAMR_VERSION_MAJOR} | ||
) | ||
endfunction() |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* | ||
* Copyright (C) 2019 Intel Corporation. All rights reserved. | ||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
*/ | ||
|
||
/* | ||
* version.h.in is a template file. version.h is a generated file. | ||
* Please do not edit both files directly. | ||
* | ||
* Any changes to the version should be done in the version.cmake file. | ||
*/ | ||
|
||
#ifndef _WAMR_VERSION_H_ | ||
#define _WAMR_VERSION_H_ | ||
|
||
/* clang-format off */ | ||
#define WAMR_VERSION_MAJOR @WAMR_VERSION_MAJOR@ | ||
#define WAMR_VERSION_MINOR @WAMR_VERSION_MINOR@ | ||
#define WAMR_VERSION_PATCH @WAMR_VERSION_PATCH@ | ||
/* clang-format on */ | ||
|
||
#endif |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Semantic Versioning | ||
|
||
WAMR has adopted [semantic versioning](https://semver.org/) to replace the former *date versioning system*. The new version string consists of three parts: | ||
|
||
- *major*: Any change that is not compatible with previous versions, affecting either the ABI or APIs, will result in an increase in the major version number. APIs include: wasm_export.h, wasm_c_api.h, sections in AOT files, among others. | ||
- *minor*: This number increases with the addition of new features. This encompasses not only MVP (Minimum Viable Product) or POST-MVP features but also WebAssembly System Interface (WASI) features and WAMR-specific features. | ||
- *patch*: This number is incremented for patches. | ||
|
||
## Legacy releases | ||
|
||
All previous versions (tags) will retain their current status. There will be no changes to existing release names and links. | ||
|
||
# Release Process | ||
|
||
WAMR has been deployed across various devices. A frequent release cycle would strain customers' testing resources and add extra deployment work. Two factors can trigger a new WAMR release: | ||
|
||
- Community requests, particularly following the integration of significant and new features. | ||
- Security vulnerabilities and critical bug fixes that ensure correctness. | ||
|
||
Patch releases will be made only to address security vulnerabilities and critical issues related to default behavior in prior releases. | ||
|
||
Once a release decision has been made: | ||
|
||
- Create a PR that: | ||
1. Modifies *build-scripts/version.cmake*. | ||
2. Updates *RELEASE.md*. | ||
- Once the PR is merged, create a new tag. | ||
- Initiate the release process by triggering *the binary release processes* in *Actions*. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if I agree with that; customers can still choose to stick to a particular version or keep moving to the latest one. In fact, for some of the usecases it more frequent releases are better as it helps narrowing down any potential regressions which can only be seen when running WAMR at scale.
Agree with that, we should probably discuss automating the process within TSC as much as we can to streamline the releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you proposing that we should streamline the release process (reduce manual work compared to the current method) and issue releases on a regular schedule, such as monthly?