Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to ts #4

Merged
merged 7 commits into from
Jan 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules/**/*
node_modules
coverage
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The content uploader supports uploading to multiple storage accounts, so you're
uses: armhil/azure-blobs-content-uploader@1.0.0
with:
azureBlobConfiguration: ${{ secrets.AZ_BLOB_CONFIGURATION }} # could be any secret that you have, see below for the format
directoriesToUpload: '[{"path": "test/integrationtest-directory", "shouldRecurse": "true", "baseContainerPath": "somePath" }]'
directoriesToUpload: '[{"directoryToUpload": "test/integrationtest-directory", "shouldRecurse": "true", "baseContainerPath": "somePath" }]'
```

You should use the below format for the `azureBlobConfiguration` parameter and this value should come from the secrets. **azureBlobConfiguration parameter is expected to contain the connection strings to blob storage accounts, so it's incredibly important to store it in github repository secrets, rather than some plaintext mechanism**.
Expand All @@ -41,13 +41,12 @@ You should use the below format for the `azureBlobConfiguration` parameter and t
{
"connectionString": string, // Az Blobs connection string
"container": string, // Container to upload the files to
"path" : string // Path in the container that the files will get uploaded to
},
]

// Example secret value
[{"connectionString": "DefaultEndpointsProtocol=https;AccountName=azblobuploadtest;AccountKey=someAccountKeyNotReal;EndpointSuffix=core.windows.net
", "container": "$web", "path": "" }]
", "container": "$web"}]
```

*Hint*: If you're uploading some static content for web-apps (like artifacts of create-react-app) - you can use the `$web` container from Azure Blob Storage.
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ inputs:
required: true
runs:
using: 'node16'
main: 'index.js'
main: 'dist/index.js'
46 changes: 46 additions & 0 deletions coverage/clover.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1706399451217" clover="3.2.0">
<project timestamp="1706399451217" name="All files">
<metrics statements="37" coveredstatements="37" conditionals="17" coveredconditionals="15" methods="10" coveredmethods="10" elements="64" coveredelements="62" complexity="0" loc="37" ncloc="37" packages="1" files="1" classes="1"/>
<file name="file-system-utils.ts" path="/Users/arman/Projects/azure-blobs-content-uploader/src/file-system-utils.ts">
<metrics statements="37" coveredstatements="37" conditionals="17" coveredconditionals="15" methods="10" coveredmethods="10"/>
<line num="2" count="1" type="cond" truecount="3" falsecount="0"/>
<line num="3" count="3" type="cond" truecount="3" falsecount="1"/>
<line num="5" count="1" type="stmt"/>
<line num="6" count="1" type="stmt"/>
<line num="7" count="1" type="stmt"/>
<line num="8" count="1" type="stmt"/>
<line num="9" count="1" type="stmt"/>
<line num="10" count="1" type="stmt"/>
<line num="23" count="2" type="stmt"/>
<line num="24" count="2" type="stmt"/>
<line num="25" count="2" type="stmt"/>
<line num="26" count="3" type="stmt"/>
<line num="27" count="3" type="stmt"/>
<line num="28" count="3" type="stmt"/>
<line num="29" count="3" type="stmt"/>
<line num="31" count="9" type="stmt"/>
<line num="33" count="7" type="stmt"/>
<line num="34" count="3" type="stmt"/>
<line num="35" count="3" type="stmt"/>
<line num="37" count="15" type="stmt"/>
<line num="38" count="3" type="stmt"/>
<line num="39" count="3" type="stmt"/>
<line num="40" count="3" type="cond" truecount="2" falsecount="0"/>
<line num="41" count="2" type="stmt"/>
<line num="42" count="6" type="stmt"/>
<line num="44" count="1" type="stmt"/>
<line num="45" count="2" type="cond" truecount="4" falsecount="0"/>
<line num="47" count="1" type="stmt"/>
<line num="51" count="2" type="stmt"/>
<line num="52" count="5" type="stmt"/>
<line num="53" count="5" type="cond" truecount="1" falsecount="1"/>
<line num="54" count="5" type="stmt"/>
<line num="55" count="5" type="cond" truecount="2" falsecount="0"/>
<line num="56" count="3" type="stmt"/>
<line num="57" count="5" type="stmt"/>
<line num="59" count="2" type="stmt"/>
<line num="61" count="1" type="stmt"/>
</file>
</project>
</coverage>
2 changes: 2 additions & 0 deletions coverage/coverage-final.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{"/Users/arman/Projects/azure-blobs-content-uploader/src/file-system-utils.ts": {"path":"/Users/arman/Projects/azure-blobs-content-uploader/src/file-system-utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":35}},"4":{"start":{"line":7,"column":13},"end":{"line":7,"column":43}},"5":{"start":{"line":8,"column":21},"end":{"line":8,"column":59}},"6":{"start":{"line":9,"column":15},"end":{"line":9,"column":47}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":34}},"8":{"start":{"line":23,"column":24},"end":{"line":23,"column":26}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":29}},"10":{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},"11":{"start":{"line":26,"column":37},"end":{"line":26,"column":48}},"12":{"start":{"line":27,"column":8},"end":{"line":27,"column":68}},"13":{"start":{"line":28,"column":41},"end":{"line":28,"column":87}},"14":{"start":{"line":29,"column":40},"end":{"line":33,"column":67}},"15":{"start":{"line":31,"column":25},"end":{"line":31,"column":108}},"16":{"start":{"line":33,"column":22},"end":{"line":33,"column":66}},"17":{"start":{"line":34,"column":8},"end":{"line":34,"column":81}},"18":{"start":{"line":35,"column":31},"end":{"line":37,"column":69}},"19":{"start":{"line":37,"column":25},"end":{"line":37,"column":68}},"20":{"start":{"line":37,"column":54},"end":{"line":37,"column":67}},"21":{"start":{"line":38,"column":8},"end":{"line":38,"column":88}},"22":{"start":{"line":39,"column":8},"end":{"line":39,"column":48}},"23":{"start":{"line":40,"column":8},"end":{"line":49,"column":9}},"24":{"start":{"line":41,"column":28},"end":{"line":44,"column":86}},"25":{"start":{"line":42,"column":29},"end":{"line":44,"column":30}},"26":{"start":{"line":44,"column":41},"end":{"line":44,"column":85}},"27":{"start":{"line":45,"column":12},"end":{"line":48,"column":13}},"28":{"start":{"line":47,"column":16},"end":{"line":47,"column":53}},"29":{"start":{"line":47,"column":39},"end":{"line":47,"column":51}},"30":{"start":{"line":51,"column":26},"end":{"line":58,"column":6}},"31":{"start":{"line":52,"column":27},"end":{"line":52,"column":55}},"32":{"start":{"line":53,"column":8},"end":{"line":54,"column":53}},"33":{"start":{"line":54,"column":12},"end":{"line":54,"column":53}},"34":{"start":{"line":55,"column":8},"end":{"line":56,"column":66}},"35":{"start":{"line":56,"column":12},"end":{"line":56,"column":66}},"36":{"start":{"line":57,"column":8},"end":{"line":57,"column":73}},"37":{"start":{"line":59,"column":4},"end":{"line":59,"column":27}},"38":{"start":{"line":61,"column":0},"end":{"line":61,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"getFilesForUpload","decl":{"start":{"line":22,"column":9},"end":{"line":22,"column":26}},"loc":{"start":{"line":22,"column":96},"end":{"line":60,"column":1}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":20},"end":{"line":31,"column":21}},"loc":{"start":{"line":31,"column":25},"end":{"line":31,"column":108}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":17},"end":{"line":33,"column":18}},"loc":{"start":{"line":33,"column":22},"end":{"line":33,"column":66}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":37,"column":20},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":25},"end":{"line":37,"column":68}},"line":37},"5":{"name":"(anonymous_5)","decl":{"start":{"line":37,"column":49},"end":{"line":37,"column":50}},"loc":{"start":{"line":37,"column":54},"end":{"line":37,"column":67}},"line":37},"6":{"name":"(anonymous_6)","decl":{"start":{"line":42,"column":24},"end":{"line":42,"column":25}},"loc":{"start":{"line":42,"column":29},"end":{"line":44,"column":30}},"line":42},"7":{"name":"(anonymous_7)","decl":{"start":{"line":44,"column":36},"end":{"line":44,"column":37}},"loc":{"start":{"line":44,"column":41},"end":{"line":44,"column":85}},"line":44},"8":{"name":"(anonymous_8)","decl":{"start":{"line":47,"column":34},"end":{"line":47,"column":35}},"loc":{"start":{"line":47,"column":39},"end":{"line":47,"column":51}},"line":47},"9":{"name":"(anonymous_9)","decl":{"start":{"line":51,"column":44},"end":{"line":51,"column":45}},"loc":{"start":{"line":51,"column":49},"end":{"line":58,"column":5}},"line":51}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":40,"column":8},"end":{"line":49,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":49,"column":9}},{"start":{},"end":{}}],"line":40},"4":{"loc":{"start":{"line":45,"column":12},"end":{"line":48,"column":13}},"type":"if","locations":[{"start":{"line":45,"column":12},"end":{"line":48,"column":13}},{"start":{},"end":{}}],"line":45},"5":{"loc":{"start":{"line":45,"column":16},"end":{"line":45,"column":45}},"type":"binary-expr","locations":[{"start":{"line":45,"column":16},"end":{"line":45,"column":25}},{"start":{"line":45,"column":29},"end":{"line":45,"column":45}}],"line":45},"6":{"loc":{"start":{"line":53,"column":8},"end":{"line":54,"column":53}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":54,"column":53}},{"start":{},"end":{}}],"line":53},"7":{"loc":{"start":{"line":55,"column":8},"end":{"line":56,"column":66}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":56,"column":66}},{"start":{},"end":{}}],"line":55}},"s":{"0":1,"1":3,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":2,"9":2,"10":2,"11":3,"12":3,"13":3,"14":3,"15":9,"16":7,"17":3,"18":3,"19":7,"20":15,"21":3,"22":3,"23":3,"24":2,"25":6,"26":1,"27":2,"28":1,"29":1,"30":2,"31":5,"32":5,"33":5,"34":5,"35":3,"36":5,"37":2,"38":1},"f":{"0":3,"1":2,"2":9,"3":7,"4":7,"5":15,"6":6,"7":1,"8":1,"9":5},"b":{"0":[1,1,1],"1":[0,3],"2":[3,3],"3":[2,1],"4":[1,1],"5":[2,2],"6":[5,0],"7":[3,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"37d232e4edd846290a75ad7e8f9c927daf848725"}
}
224 changes: 224 additions & 0 deletions coverage/lcov-report/base.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}

.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }

.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}

div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}

table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}

table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}

.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }

.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* yellow */
.cbranch-no { background: yellow !important; color: #111; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
.highlighted,
.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
background: #C21F39 !important;
}
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
/* dark yellow (gold) */
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
.medium .chart { border:1px solid #f9cd0b; }
/* light yellow */
.medium { background: #fff4c2; }

.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }

span.cline-neutral { background: #eaeaea; }

.coverage-summary td.empty {
opacity: .5;
padding-top: 4px;
padding-bottom: 4px;
line-height: 1;
color: #888;
}

.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }

.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}
87 changes: 87 additions & 0 deletions coverage/lcov-report/block-navigation.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/* eslint-disable */
var jumpToCode = (function init() {
// Classes of code we would like to highlight in the file view
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];

// Elements to highlight in the file listing view
var fileListingElements = ['td.pct.low'];

// We don't want to select elements that are direct descendants of another match
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `

// Selecter that finds elements on the page to which we can jump
var selector =
fileListingElements.join(', ') +
', ' +
notSelector +
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`

// The NodeList of matching elements
var missingCoverageElements = document.querySelectorAll(selector);

var currentIndex;

function toggleClass(index) {
missingCoverageElements
.item(currentIndex)
.classList.remove('highlighted');
missingCoverageElements.item(index).classList.add('highlighted');
}

function makeCurrent(index) {
toggleClass(index);
currentIndex = index;
missingCoverageElements.item(index).scrollIntoView({
behavior: 'smooth',
block: 'center',
inline: 'center'
});
}

function goToPrevious() {
var nextIndex = 0;
if (typeof currentIndex !== 'number' || currentIndex === 0) {
nextIndex = missingCoverageElements.length - 1;
} else if (missingCoverageElements.length > 1) {
nextIndex = currentIndex - 1;
}

makeCurrent(nextIndex);
}

function goToNext() {
var nextIndex = 0;

if (
typeof currentIndex === 'number' &&
currentIndex < missingCoverageElements.length - 1
) {
nextIndex = currentIndex + 1;
}

makeCurrent(nextIndex);
}

return function jump(event) {
if (
document.getElementById('fileSearch') === document.activeElement &&
document.activeElement != null
) {
// if we're currently focused on the search input, we don't want to navigate
return;
}

switch (event.which) {
case 78: // n
case 74: // j
goToNext();
break;
case 66: // b
case 75: // k
case 80: // p
goToPrevious();
break;
}
};
})();
window.addEventListener('keydown', jumpToCode);
Binary file added coverage/lcov-report/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading