You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

WARING

This is currently copied from the Edgent project and we will have to build our own tooling as this was initially created for Gradle and Ant builds. We can simplify a lot here ...


Once a release candidate has been staged to https://dist.apache.org/repos/dist/dev/incubator/plc4x it must be validated and voted on in order to proceed.

Team members must do the following.  

Only the Release Manager need perform the items tagged with '[RM]' though all are encouraged to.

  1. download staged artifacts. Check their signature and hashes.
    1. cd ~/tmp
    2. .../tools/download_staged_release.sh 0.4.0 1  # <version> <rc-num>
    3. [RM] verify the reported signature is for an "apache.org" address ("gpg: Good signature from ...")
  2. extract src bundle
    1. cd downloaded-plc4x-0.4.0rc1
    2. unzip 0.4.0/rc1/apache-plc4x-0.4.0-source-release.zip
    3. verify the existence of LICENSE, NOTICE, README, RELEASE_NOTES files in the extracted source bundle
    4. [RM] verify the staged source README, RELEASE_NOTE files correspond to those in the extracted source bundle
  3. staged src bundle items: content, can compile & test
    1. cd apache-plc4x-0.4.0
    2. check the contents of LICENSE, NOTICE, README, RELEASE_NOTES
      1. Check the any year references (NOTICE file contains at least one in the Copyright notice, that could need updating)
    3. build from directions in README
      1. In addition to the build directions it it advisable to ensure building with an empty maven local repo, as this ensures all dependencies are currently available, by adding the following argument to the maven execution: "-Dmaven.repo.local=../.m2"
    4. [RM] review target/rat.txt (though the build should fail if RAT constraints aren't met)
      1. Find and files containing binary content with this command:

        1. find . -type f -name 'rat.txt' -exec grep -l " B " {} \;
      2. Then review for B (binary) content in those files:   grep " B " target/rat.txt

    5. Search for SNAPSHOT references
      1. find . -type f -name 'pom.xml' -exec grep -| "SNAPSHOT" {} \;
    6. ./mvnw install 
      1. the tests should all pass
    7. NOTE: can't do this in a source-bundle (only in a repo) ./mvnw site:site  # generate reports
      1. the tests should all pass
  4. staged jars/wars in Nexus
    1. [RM] We're currently lacking a way to download all of the staged jars to verify them. For now, verify the jars that were uploaded from the management clone used to create the RC
  5. TODO: We should add information on how to run the examples against the PLCs in the IoT Lab VPN 
  • No labels