Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EASE/Build"
(→Release Process) |
m |
||
(31 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
= Manual Build = | = Manual Build = | ||
+ | The build requires to have git and maven installed. | ||
− | = | + | == EASE Core == |
− | + | git clone https://git.eclipse.org/r/ease/org.eclipse.ease.core | |
+ | cd org.eclipse.ease.core | ||
+ | mvn clean install | ||
− | + | After the build is finished, there is a local update site available from releng/org.eclipse.ease.releng.p2/target/repository | |
− | + | == EASE Modules == | |
+ | git clone https://git.eclipse.org/r/ease/org.eclipse.ease.modules | ||
+ | cd org.eclipse.ease.modules | ||
+ | mvn clean install | ||
− | + | After the build is finished, there is a local update site available from releng/org.eclipse.ease.modules.releng.p2/target/repository | |
− | + | ||
− | + | ||
− | + | ||
− | + | = Integration Server = | |
− | + | ||
− | + | ||
− | + | ||
− | + | The main hudson integration server is available at: https://ci.eclipse.org/ease/ | |
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | + | == Release Process == | |
− | + | ||
− | + | ||
− | + | ||
− | + | Integrate pending patchsets: | |
− | + | ||
− | + | ||
− | + | ||
− | + | # search for open gerrit topics https://git.eclipse.org/r/#/q/projects:+ease+status:pending | |
− | + | # integrate patchsets for release | |
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | + | Build binaries: | |
− | + | ||
− | + | ||
− | + | ||
− | + | # run the release build job https://ci.eclipse.org/ease/job/ease.build.release/ | |
− | + | ||
− | + | ||
− | + | ||
− | |||
− | + | Create release tags: | |
− | Maintain | + | # make sure your git repos are up to date |
+ | # Switch to 'Git Repositories' view | ||
+ | # select <Repository>/Tags | ||
+ | # select context menu 'Create Tag...' | ||
+ | # set Tag name to 'ease-0.x.0', set Tag message to 'release 0.x.0' (adapt major/minor version) | ||
+ | # click 'Create Tag and Start Push...', finish the wizard | ||
+ | # repeat procedure for all repositories: | ||
+ | #* http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/ | ||
+ | #* http://git.eclipse.org/c/ease/org.eclipse.ease.modules.git/ | ||
+ | #* http://git.eclipse.org/c/ease/org.eclipse.ease.scripts.git/ | ||
+ | |||
+ | |||
+ | Maintain Bugzilla: | ||
+ | |||
+ | # verify that bugs are in '''CLOSED''' state and not ony '''RESOLVED''' ([https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&list_id=11658072&product=Ease&query_format=advanced find resolved bugs]) | ||
+ | # verify that '''Target Milestone''' is set to the upcoming release name ([https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=CLOSED&list_id=17307754&product=Ease&query_format=advanced&resolution=FIXED&resolution=WORKSFORME&target_milestone=--- find bugs not related to a milestone]) | ||
− | |||
− | |||
Maintain Release Description: | Maintain Release Description: | ||
Line 75: | Line 62: | ||
# switch to https://projects.eclipse.org/projects/technology.ease | # switch to https://projects.eclipse.org/projects/technology.ease | ||
# open the upcoming release and maintain release information | # open the upcoming release and maintain release information | ||
+ | |||
Follow the [https://wiki.eclipse.org/Development_Resources/HOWTO/Release_Reviews Eclipse release process]: | Follow the [https://wiki.eclipse.org/Development_Resources/HOWTO/Release_Reviews Eclipse release process]: | ||
− | # create an [ | + | # create an [https://www.eclipse.org/projects/ip_log.php?projectid=technology.ease automated IP Log] for EASE |
− | # verify that the log is correct and send it by pushing '''Submit | + | # verify that the log is correct and send it by pushing the '''Submit For Review''' button. You will receive a link to a CQ on the following page. That link will be needed in the next steps. |
− | # send an email to technology-pmc@eclipse.org, requesting release approval | + | # once the IP log is submitted, development on the master branch may continue |
+ | # send an email to technology-pmc@eclipse.org [https://accounts.eclipse.org/mailing-list/technology-pmc mailing list], requesting release approval. | ||
+ | '''Subject:''' PMC approval request for EASE v0.7.0 release | ||
+ | Dear PMCs, | ||
+ | |||
+ | I would like to request your approval for the upcoming EASE v0.7.0 release [1] | ||
+ | |||
+ | The project's IP Log has been submitted [2]. | ||
+ | |||
+ | thanks | ||
+ | Christian | ||
+ | |||
+ | [1] https://projects.eclipse.org/projects/technology.ease/releases/0.7.0 | ||
+ | [2] https://dev.eclipse.org/ipzilla/show_bug.cgi?id=20399 | ||
+ | |||
+ | # wait for the IP log and PMC approval | ||
+ | |||
+ | === Schedule the review === | ||
+ | |||
+ | See [https://wiki.eclipse.org/Development_Resources/HOWTO/Review_Process Review Process] | ||
− | + | # switch to the release page https://projects.eclipse.org/projects/technology.ease, select the release and select 'Schedule a review for this release.' | |
− | + | ||
− | + | ||
Create & update release binaries: | Create & update release binaries: | ||
− | # run [https://hudson.eclipse.org/ease/job/ease-release/build?delay=0sec ease-release] on the [https://hudson.eclipse.org/ease/ Hudson server]. Building is save and does not alter official download locations | + | # run [https://hudson.eclipse.org/ease/job/ease-release/build?delay=0sec ease-release] on the [https://hudson.eclipse.org/ease/ Hudson server]. Building is save and does not alter official download locations. Build will run from master branch by default. If you want to build from a release branch, the job needs to be adapted. |
# on a failure: fix the problem, back to step 1 | # on a failure: fix the problem, back to step 1 | ||
# promote the build and set the version parameter correctly (eg 0.5.3). After promotion the update sites and download locations are updated and live. | # promote the build and set the version parameter correctly (eg 0.5.3). After promotion the update sites and download locations are updated and live. | ||
# on a failure: fix the problem, back to step 1 | # on a failure: fix the problem, back to step 1 | ||
− | # create a tag named | + | # create a tag named ease_${version} (eg ease_0.5.3) for each of the following repositories: |
#* http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/ | #* http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/ | ||
#* http://git.eclipse.org/c/ease/org.eclipse.ease.modules.git/ | #* http://git.eclipse.org/c/ease/org.eclipse.ease.modules.git/ | ||
Line 103: | Line 108: | ||
Prepare next release: | Prepare next release: | ||
− | # update plugin/feature versions to next revision (0. | + | # [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EASE&rep_platform=All&op_sys=All create a bugzilla entry] titled: Release preparations for v0.7.0 |
+ | # update plugin/feature versions to next revision (0.8.0 -> 0.9.0); best use search/replace on the whole workspace | ||
+ | #* search/replace '<version>0.8.0-SNAPSHOT</version>' for pom.xml files | ||
+ | #* search/replace 'Bundle-Version: 0.8.0.qualifier' for MANIFEST.MF files | ||
+ | #* search/replace 'version="0.8.0.qualifier"' for feature.xml files | ||
+ | #* also update /plugins/pom.xml, /features/pom.xml, tests/pom.xml files | ||
# create a new release on the [https://projects.eclipse.org/projects/technology.ease EASE project page] (sidebar: Committer Tools) | # create a new release on the [https://projects.eclipse.org/projects/technology.ease EASE project page] (sidebar: Committer Tools) | ||
− | # | + | # update [https://wiki.eclipse.org/EASE/Roadmap product roadmap] |
+ | # maintain bugzilla | ||
+ | #* switch to the [https://dev.eclipse.org/site_login/myaccount.php my account] page | ||
+ | #* select 'Bugzilla Manager' from the Committer Tools | ||
+ | #* select 'Edit' from Bugzilla Management | ||
+ | #* add a new Bugzilla version using the release name (eg. 0.5.3) | ||
+ | #* add a new Bugzilla milestone for the upcoming version (eg. 0.6.0). Make sure the Sort key is smaller than the one from the previous release. This will list the upcomping release on the topmost position of the drop down dialog. | ||
[[Category:EASE]] | [[Category:EASE]] |
Latest revision as of 04:16, 22 June 2021
EASE is based on a maven/tycho build.
Contents
Manual Build
The build requires to have git and maven installed.
EASE Core
git clone https://git.eclipse.org/r/ease/org.eclipse.ease.core cd org.eclipse.ease.core mvn clean install
After the build is finished, there is a local update site available from releng/org.eclipse.ease.releng.p2/target/repository
EASE Modules
git clone https://git.eclipse.org/r/ease/org.eclipse.ease.modules cd org.eclipse.ease.modules mvn clean install
After the build is finished, there is a local update site available from releng/org.eclipse.ease.modules.releng.p2/target/repository
Integration Server
The main hudson integration server is available at: https://ci.eclipse.org/ease/
Release Process
Integrate pending patchsets:
- search for open gerrit topics https://git.eclipse.org/r/#/q/projects:+ease+status:pending
- integrate patchsets for release
Build binaries:
- run the release build job https://ci.eclipse.org/ease/job/ease.build.release/
Create release tags:
- make sure your git repos are up to date
- Switch to 'Git Repositories' view
- select <Repository>/Tags
- select context menu 'Create Tag...'
- set Tag name to 'ease-0.x.0', set Tag message to 'release 0.x.0' (adapt major/minor version)
- click 'Create Tag and Start Push...', finish the wizard
- repeat procedure for all repositories:
Maintain Bugzilla:
- verify that bugs are in CLOSED state and not ony RESOLVED (find resolved bugs)
- verify that Target Milestone is set to the upcoming release name (find bugs not related to a milestone)
Maintain Release Description:
- switch to https://projects.eclipse.org/projects/technology.ease
- open the upcoming release and maintain release information
Follow the Eclipse release process:
- create an automated IP Log for EASE
- verify that the log is correct and send it by pushing the Submit For Review button. You will receive a link to a CQ on the following page. That link will be needed in the next steps.
- once the IP log is submitted, development on the master branch may continue
- send an email to technology-pmc@eclipse.org mailing list, requesting release approval.
Subject: PMC approval request for EASE v0.7.0 release Dear PMCs, I would like to request your approval for the upcoming EASE v0.7.0 release [1] The project's IP Log has been submitted [2]. thanks Christian [1] https://projects.eclipse.org/projects/technology.ease/releases/0.7.0 [2] https://dev.eclipse.org/ipzilla/show_bug.cgi?id=20399
- wait for the IP log and PMC approval
Schedule the review
See Review Process
- switch to the release page https://projects.eclipse.org/projects/technology.ease, select the release and select 'Schedule a review for this release.'
Create & update release binaries:
- run ease-release on the Hudson server. Building is save and does not alter official download locations. Build will run from master branch by default. If you want to build from a release branch, the job needs to be adapted.
- on a failure: fix the problem, back to step 1
- promote the build and set the version parameter correctly (eg 0.5.3). After promotion the update sites and download locations are updated and live.
- on a failure: fix the problem, back to step 1
- create a tag named ease_${version} (eg ease_0.5.3) for each of the following repositories:
- push created tags
- update the Release Notes wiki page
- update the download/index.php page location
- add a news entry to the news folder
- post an update to the mailing list
Prepare next release:
- create a bugzilla entry titled: Release preparations for v0.7.0
- update plugin/feature versions to next revision (0.8.0 -> 0.9.0); best use search/replace on the whole workspace
- search/replace '<version>0.8.0-SNAPSHOT</version>' for pom.xml files
- search/replace 'Bundle-Version: 0.8.0.qualifier' for MANIFEST.MF files
- search/replace 'version="0.8.0.qualifier"' for feature.xml files
- also update /plugins/pom.xml, /features/pom.xml, tests/pom.xml files
- create a new release on the EASE project page (sidebar: Committer Tools)
- update product roadmap
- maintain bugzilla
- switch to the my account page
- select 'Bugzilla Manager' from the Committer Tools
- select 'Edit' from Bugzilla Management
- add a new Bugzilla version using the release name (eg. 0.5.3)
- add a new Bugzilla milestone for the upcoming version (eg. 0.6.0). Make sure the Sort key is smaller than the one from the previous release. This will list the upcomping release on the topmost position of the drop down dialog.