Compare commits
87
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1e64ef734 | ||
|
|
472d065851 | ||
|
|
e018cd0a18 | ||
|
|
7d8a20d5df | ||
|
|
d953d3fa44 | ||
|
|
71716363fb | ||
|
|
c2f20f3fa9 | ||
|
|
2d3bbee0b6 | ||
|
|
a4ff86f533 | ||
|
|
5c5f19f207 | ||
|
|
19e5194618 | ||
|
|
8d40c2d1a2 | ||
|
|
7eb983848d | ||
|
|
3072814325 | ||
|
|
1268308f9c | ||
|
|
fd56c215cf | ||
|
|
c6f8236aa0 | ||
|
|
3c8ba18cbd | ||
|
|
bf90df6228 | ||
|
|
d7b83655fc | ||
|
|
26d0a7fb08 | ||
|
|
77323cce96 | ||
|
|
79244894e6 | ||
|
|
d6eb854dd1 | ||
|
|
87be3730df | ||
|
|
50b8ac6582 | ||
|
|
1357de1e4f | ||
|
|
7cbb28110f | ||
|
|
224d1af49a | ||
|
|
63a0327a1c | ||
|
|
96ebe45954 | ||
|
|
24ca0a728d | ||
|
|
4bdcd81bb0 | ||
|
|
1cfbdd4652 | ||
|
|
1c82922b05 | ||
|
|
2078e327a8 | ||
|
|
994d6dd742 | ||
|
|
1b9db8eb94 | ||
|
|
0fa3eeb44c | ||
|
|
ed22c258ec | ||
|
|
84be2ab061 | ||
|
|
de8e7187ad | ||
|
|
b35c71f032 | ||
|
|
d7c70385a0 | ||
|
|
b876fb89e2 | ||
|
|
e3b8613ed8 | ||
|
|
31b02760ba | ||
|
|
4112b12d70 | ||
|
|
821db2c4cd | ||
|
|
acd838a526 | ||
|
|
ea17d0ab62 | ||
|
|
0ab142f9fe | ||
|
|
39261f1943 | ||
|
|
783e97bdc8 | ||
|
|
c04d5bf7fe | ||
|
|
455a63efaa | ||
|
|
a82b4512c1 | ||
|
|
a5ba794064 | ||
|
|
cf3f418831 | ||
|
|
521a6ae6e8 | ||
|
|
826327b9c4 | ||
|
|
5e3ebb0ad2 | ||
|
|
b0455c9b7a | ||
|
|
437fdafb24 | ||
|
|
ea3e89e4d2 | ||
|
|
52e4aace61 | ||
|
|
3a0c1ce8bd | ||
|
|
a8baeb7b17 | ||
|
|
323e57aec6 | ||
|
|
5f40fa3ce6 | ||
|
|
ce47446a48 | ||
|
|
21d1922c4a | ||
|
|
16a6e60d32 | ||
|
|
1b5aafb448 | ||
|
|
0c3f4946d3 | ||
|
|
533e32613e | ||
|
|
094540fe2f | ||
|
|
83879efd75 | ||
|
|
b092f30436 | ||
|
|
3195503f1f | ||
|
|
ce6486363e | ||
|
|
552403eec3 | ||
|
|
52fde88320 | ||
|
|
5222a0fbf7 | ||
|
|
7a07e071c0 | ||
|
|
a9625873ff | ||
|
|
67128ceb50 |
@@ -0,0 +1,19 @@
|
|||||||
|
name: CI 🔨
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["**"]
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: npm install --production
|
||||||
|
- run: "./test.sh"
|
||||||
|
- uses: ./
|
||||||
|
name: "Check container builds"
|
||||||
|
with:
|
||||||
|
format: shell
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
name: Deploy 🚀
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["main", "deploy-test"]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: mkdir gh-pages
|
||||||
|
- run: cp favicon.ico gh-pages
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
format: html
|
||||||
|
output: ./gh-pages/index.html
|
||||||
|
- run: "find ./gh-pages"
|
||||||
|
- uses: peaceiris/[email protected]
|
||||||
|
with:
|
||||||
|
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||||
|
publish_dir: gh-pages
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
FROM node:12
|
||||||
|
|
||||||
|
WORKDIR /opt/humans.txt
|
||||||
|
|
||||||
|
COPY . /opt/humans.txt
|
||||||
|
|
||||||
|
RUN npm i --production
|
||||||
|
|
||||||
|
ENV FORCE_COLOR=3
|
||||||
|
|
||||||
|
ENTRYPOINT ["bash", "/opt/humans.txt/run.sh"]
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# GitHub Actions humans.txt
|
||||||
|
|
||||||
|
[Lists out](https://actions.github.io/humans.txt) the humans who work, or worked, on the GitHub Actions product. Add yourself via PR if you work or worked on the product ❤️
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
### `format`
|
||||||
|
|
||||||
|
Options: `txt`, `json`, `shell`
|
||||||
|
|
||||||
|
- txt - a plaintext list of humans
|
||||||
|
- json - a list of humans formatted for computers or humans who like their information computery
|
||||||
|
- shell - a lovely colourful list of humans making full use of advanced terminal escape-code technology
|
||||||
|
- html - a gh-pages friendly html output, which looks like a plaintext humans.txt
|
||||||
|
|
||||||
|
## humans.txt
|
||||||
|
|
||||||
|
This automatically deploys to https://actions.github.io/humans.txt.
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const fs = require('fs')
|
||||||
|
const yaml = require('yaml')
|
||||||
|
const chalk = require('chalk')
|
||||||
|
|
||||||
|
const formatters = {
|
||||||
|
txt: txtFormatter,
|
||||||
|
html: htmlFormatter,
|
||||||
|
json: jsonFormatter,
|
||||||
|
shell: (data, opts) => txtFormatter(data, { ...opts, colors: true}),
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
const format = process.argv[2] || ((process.env.GITHUB_ACTION || process.stdout.isTTY) ? "shell" : "txt")
|
||||||
|
const output = process.argv[3] ? fs.openSync(process.argv[3], "w+") : 1;
|
||||||
|
|
||||||
|
const formatter = formatters[format]
|
||||||
|
if (!formatter) {
|
||||||
|
invalidFormat(format)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = yaml.parse(fs.readFileSync(__dirname + "/humans.txt.yaml", {encoding: "utf8"}))
|
||||||
|
|
||||||
|
data.humans = data.humans.sort((a,b) => a.name > b.name ? 1 : -1)
|
||||||
|
|
||||||
|
formatter(data, {output})
|
||||||
|
}
|
||||||
|
|
||||||
|
function invalidFormat(format) {
|
||||||
|
const list = Object.keys(formatters).sort().join(",")
|
||||||
|
console.error(`'${format}' is not one of the accepted formats ${list}`)
|
||||||
|
process.exitCode = 1
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
function jsonFormatter({humans}, {output}) {
|
||||||
|
fs.writeSync(output, JSON.stringify(humans, null, 4))
|
||||||
|
}
|
||||||
|
|
||||||
|
function txtFormatter({humans}, {colors = false, output} = {}) {
|
||||||
|
let active = humans.filter(h => !h.alum).map(h => h.name)
|
||||||
|
let alum = humans.filter(h => h.alum).map(h => h.name)
|
||||||
|
|
||||||
|
if(colors) {
|
||||||
|
const total = active.length + alum.length
|
||||||
|
active = mapColorRange(active, 0, total)
|
||||||
|
alum = mapColorRange(alum, active.length, total)
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.writeSync(output, "Current humans\n")
|
||||||
|
fs.writeSync(output,"==============\n\n")
|
||||||
|
fs.writeSync(output,active.join("\n"))
|
||||||
|
fs.writeSync(output,"\n\n")
|
||||||
|
|
||||||
|
fs.writeSync(output,"Human alumni\n")
|
||||||
|
fs.writeSync(output,"============\n\n")
|
||||||
|
fs.writeSync(output,alum.join("\n"))
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapColorRange(strings, base, total) {
|
||||||
|
return strings.map((n, i) => chalk.hsl(((i + base) / total) * 360, 100, 50)(n))
|
||||||
|
}
|
||||||
|
|
||||||
|
function htmlFormatter(data, opts) {
|
||||||
|
fs.writeSync(opts.output, `<!doctype html>
|
||||||
|
<meta charset='utf8' />
|
||||||
|
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||||
|
<title>Actions - humans.txt</title>
|
||||||
|
<body><pre>`)
|
||||||
|
txtFormatter(data, opts)
|
||||||
|
fs.writeSync(opts.output, "</pre></body>")
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
name: 'GitHub Actions humans.txt'
|
||||||
|
description: 'List out the humans who help feed and tend the robots of GitHub Actions'
|
||||||
|
inputs:
|
||||||
|
format:
|
||||||
|
description: 'How to output the people of actions - txt, json, html or ascii'
|
||||||
|
default: 'ascii'
|
||||||
|
output:
|
||||||
|
description: 'Where to output the file - stdout otherwise'
|
||||||
|
runs:
|
||||||
|
using: 'docker'
|
||||||
|
image: 'Dockerfile'
|
||||||
|
args:
|
||||||
|
- "${{ inputs.format }}"
|
||||||
|
- "${{ inputs.output }}"
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# add yourself to this list as a yaml
|
||||||
|
# object with the following keys:
|
||||||
|
# - name - string - your name
|
||||||
|
# - alum - boolean - whether you no longer work on Actions
|
||||||
|
humans:
|
||||||
|
- name: Mona Lisa Octocat
|
||||||
|
honorary_human: true
|
||||||
|
- name: "Matt Burke"
|
||||||
|
alum: true
|
||||||
|
- name: "Angela Rivera"
|
||||||
|
alum: true
|
||||||
|
- name: "Pete Wagner"
|
||||||
|
alum: true
|
||||||
|
- name: "Parker Moore"
|
||||||
|
alum: true
|
||||||
|
- name: "Melissa Xie"
|
||||||
|
- name: "Jason Long"
|
||||||
|
- name: "Iheanyi Ekechukwu"
|
||||||
|
- name: "Christopher Schleiden"
|
||||||
|
- name: "Cameron Booth"
|
||||||
|
- name: "Alberto Gimeno"
|
||||||
|
- name: "Tim Ruffles"
|
||||||
|
alum: true
|
||||||
|
- name: "Andrew Appleton"
|
||||||
|
alum: true
|
||||||
|
- name: "Hayden Faulds"
|
||||||
|
- name: "Anthony Sterling"
|
||||||
|
- name: "Jonathan Clem"
|
||||||
|
- name: "Jeroen Rietveld"
|
||||||
|
- name: "Mike Coutermarsh"
|
||||||
|
- name: "Thomas Brumley"
|
||||||
|
- name: "Brian Cristante"
|
||||||
|
- name: "Yang Cao"
|
||||||
|
- name: "Yujin Shin"
|
||||||
|
- name: "Bryan MacFarlane"
|
||||||
|
- name: "Josh Gross"
|
||||||
|
- name: "Guðmundur Bjarni Ólafsson"
|
||||||
|
alum: true
|
||||||
|
- name: "Beth Brennan"
|
||||||
|
- name: "PJ Quirk"
|
||||||
|
- name: "Chad Kimes"
|
||||||
|
- name: "Phani Raj"
|
||||||
|
- name: "Konrad Pabjan"
|
||||||
|
- name: "Adrian Mato Gondelle"
|
||||||
|
- name: "Patrick Marsceill"
|
||||||
-89
@@ -1,89 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<meta charset='utf8' />
|
|
||||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
|
||||||
<title>Actions - humans.txt</title>
|
|
||||||
<body><pre>Current humans
|
|
||||||
==============
|
|
||||||
|
|
||||||
Adrian Mato Gondelle
|
|
||||||
Allan Guigou
|
|
||||||
Amarilis Dias
|
|
||||||
Antoine Grondin
|
|
||||||
Aris Acoba
|
|
||||||
Bassem Dghaidi
|
|
||||||
Belinda Vennam
|
|
||||||
Beth Brennan
|
|
||||||
Bethany Janos
|
|
||||||
Brian Cristante
|
|
||||||
Brittany Ellich
|
|
||||||
Bryan MacFarlane
|
|
||||||
Cameron Booth
|
|
||||||
Cedric Wille
|
|
||||||
Chad Kimes
|
|
||||||
Christina Guo
|
|
||||||
Christopher Schleiden
|
|
||||||
Crystal Tenn
|
|
||||||
Dan Rigby
|
|
||||||
Dylan Smith
|
|
||||||
Erez Testiler
|
|
||||||
Eric Sciple
|
|
||||||
Felipe Suero
|
|
||||||
Francesco Renzi
|
|
||||||
Isaac Shalom
|
|
||||||
Jacob Wallraff
|
|
||||||
Javier Perez
|
|
||||||
Jeff Martin
|
|
||||||
Joanna Krzek-Lubowiecka
|
|
||||||
Johanan Idicula
|
|
||||||
John Mills
|
|
||||||
Jonathan Clem
|
|
||||||
Jonathan Tamsut
|
|
||||||
Josh Gross
|
|
||||||
Julian Dunn
|
|
||||||
Julio Barba
|
|
||||||
Kamil Grzebien
|
|
||||||
Konrad Pabjan
|
|
||||||
Maggie Spletzer
|
|
||||||
Mona Lisa Octocat
|
|
||||||
PJ Quirk
|
|
||||||
Peter Tasker
|
|
||||||
Philip Gai
|
|
||||||
Rob Herley
|
|
||||||
Ross Brodbeck
|
|
||||||
Ryan Troost
|
|
||||||
Seth Rylan Gainey
|
|
||||||
Soe Tun
|
|
||||||
Sven Pfleiderer
|
|
||||||
Thomas Brumley
|
|
||||||
Yang Cao
|
|
||||||
Yaswanth Anantharaju
|
|
||||||
|
|
||||||
Human alumni
|
|
||||||
============
|
|
||||||
|
|
||||||
Ajay Krishna Nalisetty
|
|
||||||
Alberto Gimeno
|
|
||||||
Andrew Appleton
|
|
||||||
Angela Rivera
|
|
||||||
Anna Rosenthal
|
|
||||||
Anthony Sterling
|
|
||||||
Catherine Osadciw
|
|
||||||
Florian Wagner
|
|
||||||
Guðmundur Bjarni Ólafsson
|
|
||||||
Hayden Faulds
|
|
||||||
Iheanyi Ekechukwu
|
|
||||||
Jason Long
|
|
||||||
Jean-Philippe André
|
|
||||||
Jeroen Rietveld
|
|
||||||
Joris Abalea
|
|
||||||
Matt Burke
|
|
||||||
Melissa Xie
|
|
||||||
Mike Coutermarsh
|
|
||||||
Nicholas Bergesen
|
|
||||||
Parker Moore
|
|
||||||
Patrick Marsceill
|
|
||||||
Pete Wagner
|
|
||||||
Phani Raj
|
|
||||||
Tim Ruffles
|
|
||||||
Yena Kim
|
|
||||||
Yujin Shin</pre></body>
|
|
||||||
Generated
+76
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"requires": true,
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": {
|
||||||
|
"version": "7.7.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
|
||||||
|
"integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
|
||||||
|
"requires": {
|
||||||
|
"regenerator-runtime": "^0.13.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/color-name": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/color-name": "^1.1.1",
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||||
|
},
|
||||||
|
"regenerator-runtime": {
|
||||||
|
"version": "0.13.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
|
||||||
|
"integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "7.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
|
||||||
|
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yaml": {
|
||||||
|
"version": "1.7.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
|
||||||
|
"integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.6.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"chalk": "3.0.0",
|
||||||
|
"yaml": "1.7.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user