Skip to content

Commit 4ecc275

Browse files
authored
update action to a82f06a29168a3c6594fb7206dd0afd3af8efdf2
1 parent ef87daf commit 4ecc275

8 files changed

Lines changed: 4896 additions & 11704 deletions

File tree

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: 'Dev Container'
2-
description: 'Publish custom development container feature(s) and/or templates(s)'
2+
description: 'Publish custom development container assets'
33
author: 'GitHub'
44
branding:
55
icon: box
@@ -10,10 +10,6 @@ inputs:
1010
required: false
1111
default: "false"
1212
description: "['true'/'false'] Publish dev container 'feature' artifacts"
13-
publish-templates:
14-
required: false
15-
default: "false"
16-
description: "['true'/'false'] Publish dev container 'template' artifacts"
1713
generate-docs:
1814
required: false
1915
default: "false"
@@ -26,37 +22,11 @@ inputs:
2622
description: "Relative path to the 'src' folder containing dev container 'feature(s)'"
2723
oci-registry:
2824
required: false
29-
default: "ghcr.io"
3025
description: "Name of the OCI registry that implements the OCI Artifact Distribution Specification"
3126
features-namespace:
3227
required: false
33-
default: "<owner>/<repo>"
3428
description: "A unique indentifier for the collection of features"
3529

36-
# 'template' options
37-
base-path-to-templates:
38-
required: false
39-
default: ''
40-
description: "Relative path to the folder containing dev container 'template(s)'"
41-
42-
# EXPERIMENTAL
43-
tag-individual-features:
44-
required: false
45-
default: "false"
46-
description: "Tag individual features"
47-
publish-to-npm:
48-
required: false
49-
default: "false"
50-
description: "Should publish features to NPM?"
51-
publish-release-artifacts:
52-
required: false
53-
default: "false"
54-
description: "Publish release artifacts (classic)"
55-
publish-to-oci:
56-
required: false
57-
default: "false"
58-
description: "Publish to OCI?"
59-
6030
runs:
6131
using: 'node16'
6232
main: 'dist/index.js'

.github/devcontainers-action/dist/index.js

Lines changed: 4780 additions & 11191 deletions
Large diffs are not rendered by default.

.github/devcontainers-action/dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/devcontainers-action/dist/licenses.txt

Lines changed: 37 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ The above copyright notice and this permission notice shall be included in all c
1010

1111
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1212

13+
@actions/exec
14+
MIT
15+
The MIT License (MIT)
16+
17+
Copyright 2019 GitHub
18+
19+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
20+
21+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
22+
23+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24+
1325
@actions/github
1426
MIT
1527
The MIT License (MIT)
@@ -47,6 +59,18 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
4759
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4860

4961

62+
@actions/io
63+
MIT
64+
The MIT License (MIT)
65+
66+
Copyright 2019 GitHub
67+
68+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
69+
70+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
71+
72+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
73+
5074
@octokit/auth-token
5175
MIT
5276
The MIT License
@@ -434,25 +458,6 @@ Apache-2.0
434458
limitations under the License.
435459

436460

437-
chownr
438-
ISC
439-
The ISC License
440-
441-
Copyright (c) Isaac Z. Schlueter and Contributors
442-
443-
Permission to use, copy, modify, and/or distribute this software for any
444-
purpose with or without fee is hereby granted, provided that the above
445-
copyright notice and this permission notice appear in all copies.
446-
447-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
448-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
449-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
450-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
451-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
452-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
453-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
454-
455-
456461
deprecation
457462
ISC
458463
The ISC License
@@ -472,25 +477,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
472477
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
473478

474479

475-
fs-minipass
476-
ISC
477-
The ISC License
478-
479-
Copyright (c) Isaac Z. Schlueter and Contributors
480-
481-
Permission to use, copy, modify, and/or distribute this software for any
482-
purpose with or without fee is hereby granted, provided that the above
483-
copyright notice and this permission notice appear in all copies.
484-
485-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
486-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
487-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
488-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
489-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
490-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
491-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
492-
493-
494480
is-plain-object
495481
MIT
496482
The MIT License (MIT)
@@ -516,80 +502,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
516502
THE SOFTWARE.
517503

518504

519-
minipass
520-
ISC
521-
The ISC License
522-
523-
Copyright (c) 2017-2022 npm, Inc., Isaac Z. Schlueter, and Contributors
524-
525-
Permission to use, copy, modify, and/or distribute this software for any
526-
purpose with or without fee is hereby granted, provided that the above
527-
copyright notice and this permission notice appear in all copies.
528-
529-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
530-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
531-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
532-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
533-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
534-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
535-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
536-
537-
538-
minizlib
539-
MIT
540-
Minizlib was created by Isaac Z. Schlueter.
541-
It is a derivative work of the Node.js project.
542-
543-
"""
544-
Copyright Isaac Z. Schlueter and Contributors
545-
Copyright Node.js contributors. All rights reserved.
546-
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
547-
548-
Permission is hereby granted, free of charge, to any person obtaining a
549-
copy of this software and associated documentation files (the "Software"),
550-
to deal in the Software without restriction, including without limitation
551-
the rights to use, copy, modify, merge, publish, distribute, sublicense,
552-
and/or sell copies of the Software, and to permit persons to whom the
553-
Software is furnished to do so, subject to the following conditions:
554-
555-
The above copyright notice and this permission notice shall be included in
556-
all copies or substantial portions of the Software.
557-
558-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
559-
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
560-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
561-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
562-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
563-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
564-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
565-
"""
566-
567-
568-
mkdirp
569-
MIT
570-
Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me)
571-
572-
This project is free software released under the MIT license:
573-
574-
Permission is hereby granted, free of charge, to any person obtaining a copy
575-
of this software and associated documentation files (the "Software"), to deal
576-
in the Software without restriction, including without limitation the rights
577-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
578-
copies of the Software, and to permit persons to whom the Software is
579-
furnished to do so, subject to the following conditions:
580-
581-
The above copyright notice and this permission notice shall be included in
582-
all copies or substantial portions of the Software.
583-
584-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
585-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
586-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
587-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
588-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
589-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
590-
THE SOFTWARE.
591-
592-
593505
node-fetch
594506
MIT
595507
The MIT License (MIT)
@@ -635,25 +547,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
635547
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
636548

637549

638-
tar
639-
ISC
640-
The ISC License
641-
642-
Copyright (c) Isaac Z. Schlueter and Contributors
643-
644-
Permission to use, copy, modify, and/or distribute this software for any
645-
purpose with or without fee is hereby granted, provided that the above
646-
copyright notice and this permission notice appear in all copies.
647-
648-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
649-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
650-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
651-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
652-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
653-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
654-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
655-
656-
657550
tr46
658551
MIT
659552

@@ -693,6 +586,19 @@ Permission to use, copy, modify, and/or distribute this software for any purpose
693586
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
694587

695588

589+
uuid
590+
MIT
591+
The MIT License (MIT)
592+
593+
Copyright (c) 2010-2020 Robert Kieffer and other contributors
594+
595+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
596+
597+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
598+
599+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
600+
601+
696602
webidl-conversions
697603
BSD-2-Clause
698604
# The BSD 2-Clause License
@@ -751,22 +657,3 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
751657
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
752658
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
753659
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
754-
755-
756-
yallist
757-
ISC
758-
The ISC License
759-
760-
Copyright (c) Isaac Z. Schlueter and Contributors
761-
762-
Permission to use, copy, modify, and/or distribute this software for any
763-
purpose with or without fee is hereby granted, provided that the above
764-
copyright notice and this permission notice appear in all copies.
765-
766-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
767-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
768-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
769-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
770-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
771-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
772-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

.github/devcontainers-action/lib/generateDocs.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ const FEATURES_README_TEMPLATE = `
5656
5757
#{OptionsTable}
5858
59+
#{Notes}
60+
5961
---
6062
61-
_Note: This file was auto-generated from the [devcontainer-feature.json](#{RepoUrl})._
63+
_Note: This file was auto-generated from the [devcontainer-feature.json](#{RepoUrl}). Add additional notes to a \`NOTES.md\`._
6264
`;
6365
const TEMPLATE_README_TEMPLATE = `
6466
# #{Name}
@@ -107,8 +109,6 @@ function _generateDocumentation(basePath, readmeTemplate, metadataFile, ociRegis
107109
return;
108110
}
109111
const srcInfo = (0, utils_1.getGitHubMetadata)();
110-
const owner = srcInfo.owner;
111-
const repo = srcInfo.repo;
112112
// Add version
113113
let version = 'latest';
114114
const parsedVersion = parsedJson === null || parsedJson === void 0 ? void 0 : parsedJson.version;
@@ -131,6 +131,10 @@ function _generateDocumentation(basePath, readmeTemplate, metadataFile, ociRegis
131131
.join('\n');
132132
return '| Options Id | Description | Type | Default Value |\n' + '|-----|-----|-----|-----|\n' + contents;
133133
};
134+
const generateNotesMarkdown = () => {
135+
const notesPath = path.join(basePath, f, 'NOTES.md');
136+
return fs.existsSync(notesPath) ? fs.readFileSync(path.join(notesPath), 'utf8') : '';
137+
};
134138
let urlToConfig = './devcontainer-feature.json';
135139
const basePathTrimmed = basePath.startsWith('./') ? basePath.substring(2) : basePath;
136140
if (srcInfo.owner && srcInfo.repo) {
@@ -142,9 +146,10 @@ function _generateDocumentation(basePath, readmeTemplate, metadataFile, ociRegis
142146
.replace('#{Name}', parsedJson.name ? `${parsedJson.name} (${parsedJson.id})` : `${parsedJson.id}`)
143147
.replace('#{Description}', (_a = parsedJson.description) !== null && _a !== void 0 ? _a : '')
144148
.replace('#{OptionsTable}', generateOptionsMarkdown())
149+
.replace('#{Notes}', generateNotesMarkdown())
145150
// Features Only
146151
.replace('#{Registry}', ociRegistry)
147-
.replace('#{Namespace}', namespace == '<owner>/<repo>' ? `${owner}/${repo}` : namespace)
152+
.replace('#{Namespace}', namespace)
148153
.replace('#{Version}', version)
149154
// Templates Only
150155
.replace('#{ManifestName}', (_c = (_b = parsedJson === null || parsedJson === void 0 ? void 0 : parsedJson.image) === null || _b === void 0 ? void 0 : _b.manifest) !== null && _c !== void 0 ? _c : '')

0 commit comments

Comments
 (0)