Explicitly manage secrets, add capability to attach source tarball #29
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.
Description
Closes #28.
This PR has two intermixed changes that will necessitate a major version bump: attaching a source tarball to the releases and changing how
secrets
are handled.The source tarball changes are relatively straightforward - I've added a new
attach-tarball
boolean argument (defaulting to false) to the finalize workflow. If set, the workflow clones the calling repository tosource/<repo-name>
. If that path exists then thefinalize-release
script creates a tarball, attaches it to the new release (which thankfully works even for drafts), and includes a note in the PR comment.The
secrets
thing fell out of me trying properly handle the default and PAT tokens in the workflows. Rather than hard-coding our secret name (UCLAHS_CDS_REPO_READ_TOKEN
), each workflow now has atoken
secrets
input that needs to be supplied like so:Doing that will make this useful for organizations other than us, and is the correct way to do it, but it unfortunately does require rewriting a bunch of workflows - hence the need for a major version bump thereafter.
Here are several examples of this working in a testing repository:
Both of those releases have a
source_code_with_submodules.tar.gz
attachment (generated by the old workflow) and an identicalSource code with submodules (tar.gz)
(generated by the new workflow).Checklist
This PR does NOT contain Protected Health Information (PHI). A repo may need to be deleted if such data is uploaded.
Disclosing PHI is a major problem1 - Even a small leak can be costly2.
This PR does NOT contain germline genetic data3, RNA-Seq, DNA methylation, microbiome or other molecular data4.
.png
, .jpeg
),.pdf
,.RData
,.xlsx
,.doc
,.ppt
, or other output files.To automatically exclude such files using a .gitignore file, see here for example.
I have read the code review guidelines and the code review best practice on GitHub check-list.
I have set up or verified the
main
branch protection rule following the github standards before opening this pull request.The name of the branch is meaningful and well formatted following the standards, using [AD_username (or 5 letters of AD if AD is too long)]-[brief_description_of_branch].
I have added the major changes included in this pull request to the
CHANGELOG.md
under the next release version or unreleased, and updated the date.Footnotes
UCLA Health reaches $7.5m settlement over 2015 breach of 4.5m patient records ↩
The average healthcare data breach costs $2.2 million, despite the majority of breaches releasing fewer than 500 records. ↩
Genetic information is considered PHI.
Forensic assays can identify patients with as few as 21 SNPs ↩
RNA-Seq, DNA methylation, microbiome, or other molecular data can be used to predict genotypes (PHI) and reveal a patient's identity. ↩