Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ScriptDescription
bumpSnapshots.sh
bumpSnapshots.sh - generate commits to bump the snapshot version and update references to snapshot references
               on any repos that need to be bumped or updated

       usage:  bumpSnapshots.sh [-options]

       options
         -h           - this help message
         -d data_file - the policy release data file to use, defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
         -i issue-id  - issue ID in the format POLICY-nnnn

 examples:
  bumpSnapshots.sh -l /home/user/onap -d /home/user/data/pf_release_data.csv -i POLICY-1234
    bump snapshots on the repos at location '/home/user/onap' using the release data
    in the file '/home/user/data/pf_release_data.csv'
generateCommit.sh
generateCommit.sh - generates a new commit or a patch on an existing commit for PF releases

       usage:  generateCommit.sh [-options]

       options
         -h                - this help message
         -l location       - the location of the policy framework repos on the file system,
                             defaults to './'
         -r repo           - the policy repo to which to commit
         -i issue-id       - issue ID in the format POLICY-nnnn
         -e commit-header  - the header for the commit
         -m commit-message - the message body for the commit

 example:
  generateCommit.sh -l /home/git/onap -r policy/pap -i POLICY-1234 -e commit-header -m commit-message
    create a new commit or update an existing commit on policy/pap with the given details
getReleaseData.sh
getReleaseData.sh - gets information from the checked out Policy Framework repos for the release process

       usage:  getReleaseData.sh [-options]

       options
         -h           - this help message
         -b branch    - the branch to release on, defaults to 'master'
         -d data_file - the policy release data file to create, defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
mkart.sh
mkart.sh - create the release yaml file to release the current snapshot on the current repo

     usage:  mkart.sh [-options]

       options
       -d - create a release yaml foie for a repo that has Docker images
mkdock.sh
mkdickmkdock.sh - create the release container yaml file to release the docker images on the current repo

   usage:  mkdock.sh docker-container-name1 docker-container-name2 ...
releasePhase.sh
releasePhase.sh - execute a certain policy framework release phase

       usage:  releasePhase.sh [-options]

       options
         -h           - this help message
         -d data_file - create a release yaml foie for a repo that has Docker images
newReleaseSnapshots.shreleasePhase.shreleaseRepo.shreleaseRepoImages.shupdateOomImages.shupdateParentRef.sh
 the policy release data file to use, defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
         -i issue-id  - issue ID in the format POLICY-nnnn
         -p phase     - the release phase, a positive integer

 examples:
  releasePhase.sh -l /home/user/onap -d /home/user/data/pf_release_data.csv -i POLICY-1234 -p 3
    perform release phase 3 on the repos at location '/home/user/onap' using the release data
    in the file '/home/user/data/pf_release_data.csv'
releaseRepo.sh
releaseRepo.sh - release the specified repository by generating the release yaml file and the release commit

       usage:  releaseRepo.sh [-options]

       options
         -h           - this help message
         -d data_file - the policy release data file to use, defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
         -r repo      - the policy repo to release
         -i issue-id  - issue ID in the format POLICY-nnnn

 examples:
  releaseRepo.sh -l /home/user/onap -d /home/user/data/pf_release_data.csv -r policy/common -i POLICY-1234
    release the 'policy/common' repo at location '/home/user/onap' using the release data
    in the file '/home/user/data/pf_release_data.csv'
releaseRepoImages.sh
releaseRepoImages.sh - release the docker images for the specified repository by generating the release yaml file and
               the release commit
       usage:  releaseRepoImages.sh [-options]

       options
         -h           - this help message
         -d data_file - the policy release data file to use, defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
         -r repo      - the policy repo to release
         -i issue-id  - issue ID in the format POLICY-nnnn

 examples:
  releaseRepoImages.sh -l /home/user/onap -d /home/user/data/pf_release_data.csv -r policy/common -i POLICY-1234
    release the 'policy/common' repo at location '/home/user/onap' using the release data
    in the file '/home/user/data/pf_release_data.csv'
updateOomImages.sh
updateOomImages.sh - generate an OOM commit to update the versions of Policy Framework images in values.yaml files

       usage:  updateOomImages.sh [-options]

       options
         -h           - this help message
         -d data_file - the policy release data file to use, defaults to './pf_release_data.csv'
         -l location  - the location of the OOM repo on the file system,
                        defaults to './'
         -i issue-id  - issue ID in the format POLICY-nnnn

 examples:
  updateOomImages.sh -l /home/user/onap -d /home/user/data/pf_release_data.csv -i POLICY-1234
    update the version of policy framework images at location '/home/user/onap/oom' using the release data
    in the file '/home/user/data/pf_release_data.csv'
updateParentRef.sh
updateParentRef.sh - update the parent reference in a POM file
       usage:  updateParentRef.sh [-options]
       options
         -h             - this help message
         -f pom_file    - the POM file to update
         -g group_id    - the parent group ID
         -a artifact_id - the parent artifact ID
         -v version     - the parent version
updateRefs.sh
updateRefs.sh - updates the inter-repo references in Policy Framework POM files

       usage:  updateRefs.sh [-options]

       options
         -h           - this help message
         -d data_file - the policy release data file to use, generated by the 'getReleaseData.sh' script,
                        defaults to './pf_release_data.csv'
         -l location  - the location of the policy framework repos on the file system,
                        defaults to './'
         -r repo      - the policy repo to update
         -p           - update policy/parent references
         -c           - update policy/common references
         -m           - update policy/model references
         -o           - update policy/drools-pdp references
         -x           - update policy/apex-pdp references
         -k           - update docker base images in Dockerfiles
         -f           - update release data in policy parent
         -s           - update release references to snapshot references,
                        if omitted, snapshot references are updated to release references

 examples:
  updateRefs.sh -pcm -r policy/pap
              update the parent, common, and models references of policy/pap
              to the current released version

  updateRefs.sh -c -m -s -r policy/api
              update the common and models references of policy/api
              to the current snapshot version
updateRefs.sh

The scripts:

  • Operate on a cloned copy of all 13 Policy Framework repositories
  • Break the release process into a set of phases, which are executed one after another to perform a release
  • Can release on the Master branch or any other branch
  • Act on the POM files, Docker files, the maven and docker release files, the version.properties files, and the pf_release_data.csv file in the repos, updating the references in those files as required for each phase

...