VOL-4905 - Deploy new voltctl version.
jjb/shell/github-release.sh
---------------------------
o Added --help text and command line switches.
o Deprecate github-release command, replace with github gh cli.
o Update authentication to use new pac strings or token file.
o Create and auto-cleanup a scratch area for the script to use.
o Added callstack display on error to help identify source.
o Command line args added to facilitate interactive use.
+ Local access functions provide value lookup and defaults.
o Begin to modularize the script, added named functions and
wrapped global vars with accessor methods that format
values for passing to the gh command.
o Updated script to fail hard VS mask error conditions. For ex do not
publish a source-only release when artifact count is zero.
o Script currently runs in (gh --draft) mode to exercise these changes.
o Always call 'gh auth logout', esp for failure conditions.
o Added the ability to query for repository release strings.
+ Simple verification for gh repository access.
jjb/verify/voltctl.yaml
-----------------------
o Use new job template jjb/github-release/voltha.yaml.
o Update to use a new jenkins credential id.
jjb/verify/voltctl.yaml
-----------------------
o Use new job template jjb/github-release/voltha.yaml
Change-Id: I75432ea353d60d655c4558c6370d91f184d3b8ad
diff --git a/jjb/github-release/voltha.yaml b/jjb/github-release/voltha.yaml
new file mode 100644
index 0000000..4794e8b
--- /dev/null
+++ b/jjb/github-release/voltha.yaml
@@ -0,0 +1,57 @@
+---
+# publishing artifacts to GitHub releases
+
+- job-template:
+ id: github-release-voltha
+ name: 'github-release_{project}'
+ description: |
+ Created by {id} job-template from ci-management/jjb/github-release.yaml<br/>
+ Build and publish artifacts to GitHub as a release, with checksums
+
+ triggers:
+ - cord-infra-gerrit-trigger-merge:
+ gerrit-server-name: '{gerrit-server-name}'
+ project-regexp: '^{project}$'
+ branch-regexp: '{branch-regexp}'
+ file-include-regexp: '{all-files-regexp}'
+ dependency-jobs: '{dependency-jobs}'
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+
+ wrappers:
+ - cord-pypi-wrapper:
+ build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{gerrit-ssh-credential}'
+ - credentials-binding:
+ - text:
+ credential-id: onf-bot-voltha
+ variable: GITHUB_TOKEN
+
+ scm:
+ - cord-infra-gerrit-scm:
+ git-url: '$GIT_URL/$GERRIT_PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: 'false'
+ choosing-strategy: gerrit
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ basedir: '{project}'
+
+ node: '{build-node}'
+ project-type: freestyle
+ concurrent: true
+
+ builders:
+ - inject:
+ properties-content: |
+ DEST_GOPATH={dest-gopath}
+ RELEASE_TARGETS={release-targets}
+ ARTIFACT_GLOB={artifact-glob}
+ GITHUB_ORGANIZATION={github-organization}
+
+ - shell: !include-raw-escape: ../shell/github-release.sh
+
+# [EOF]