diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a76efb1..b796d9b 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -17,7 +17,7 @@ Please note that this project is released with a [Contributor Code of Conduct](h # Mission Statement -`awesome-docker` is a hand-crafted list for high-quality information about Docker and its resources. It should be related or compatible with Docker. If it's just an image built on top of Docker, the project possibly belongs to other [awesome lists](https://github.com/sindresorhus/awesome). You can check the [awesome-selfhosted list](https://github.com/Kickball/awesome-selfhosted) or the [awesome-sysadmin list](https://github.com/n1trux/awesome-sysadmin) as well. +`awesome-docker` is a hand-crafted list for high-quality information about Docker and its resources. It should be related or compatible with Docker or containers. If it's just an image built on top of Docker, the project possibly belongs to other [awesome lists](https://github.com/sindresorhus/awesome). You can check the [awesome-selfhosted list](https://github.com/Kickball/awesome-selfhosted) or the [awesome-sysadmin list](https://github.com/n1trux/awesome-sysadmin) as well. If it's a **tutorial or a blog post**, they get outdated really quickly so we don't really put them on the list but if it is on a very advanced and/or specific topic, we will consider it! If something is awesome, share it (pull request or [issue](https://github.com/veggiemonk/awesome-docker/issues/new) or [chat](https://gitter.im/veggiemonk/awesome-docker)), let us know why and we will help you! @@ -26,8 +26,9 @@ If something is awesome, share it (pull request or [issue](https://github.com/ve Note that we can help you achieve those standards, just try your best and be brave. We'll guide you to the best of our abilities. -To be on the list, it would be *nice* if entries adhere to these quality standards: +To be on the list, it would be **nice** if entries adhere to these quality standards: +- It should take less than 20 sec to find what is the project, how to install it and how to use it. - Generally useful to the community. - A project on GitHub with a well documented `README.md` file and plenty of examples is considered high quality. - Clearly stating if an entry is related to (Linux) containers and not to Docker. There is an [awesome list](https://github.com/Friz-zy/awesome-linux-containers) for that. @@ -38,10 +39,9 @@ To be on the list, it would be *nice* if entries adhere to these quality standar To be on the list, the project **must** have: -- How to setup the project +- How to setup/install the project - How to use the project (examples) - If your PR is not merged, we will tell you why so that you may be able to improve it. But usually, we are pretty relaxed people, so just come and say hi, we'll figure something out together. @@ -78,7 +78,6 @@ or you can Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. - #### Your commit message will be a [tweet](https://twitter.com/awesome_docker) so write a [good commit message](https://chris.beams.io/posts/git-commit/), keep that in mind :) # New Collaborators diff --git a/.github/ISSUE_TEMPLATE/add-a-project.md b/.github/ISSUE_TEMPLATE/add-a-project.md deleted file mode 100644 index ea29bc2..0000000 --- a/.github/ISSUE_TEMPLATE/add-a-project.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Add a project -about: Add a link to the awesome docker list - ---- - -Hi, - -I would like to add a link. [Insert link here] - -Or directly write it: -```markdown -[REPO](https://github.com/AUTHOR/REPO) - DESCRIPTION. By [@AUTHOR](https://github.com/AUTHOR) -``` diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f21e489..1607186 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,37 +1,39 @@ +# Quality Standards - +Note that we can help you achieve those standards, just try your best and be brave. +We'll guide you to the best of our abilities. -**[Insert the URL to be listed]** +To be on the list, it would be **nice** if entries adhere to these quality standards: -**[Explain what the project is about and why it should be listed]** +- It should take less than 20 sec to find what is the project, how to install it and how to use it. +- Generally useful to the community. +- A project on GitHub with a well documented `README.md` file and plenty of examples is considered high quality. +- Clearly stating if an entry is related to (Linux) containers and not to Docker. There is an [awesome list](https://github.com/Friz-zy/awesome-linux-containers) for that. +- Clearly stating "what is it" i.e. which category it belongs to. +- Clearly stating "what is it for" i.e. mention a real problem it solves (even a small one). Make it clear for the next person. +- If it is a **WIP** (work in progress, not safe for production), please mention it. (Remember the time before Docker 1.0 ? ;-) ) +- Always put the link to the GitHub project instead of the website! +To be on the list, the project **must** have: -# By submitting this pull request I confirm I've read and complied with the below requirements. +- How to setup/install the project +- How to use the project (examples) -**Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.** +If your PR is not merged, we will tell you why so that you may be able to improve it. +But usually, we are pretty relaxed people, so just come and say hi, we'll figure something out together. -- I have read and understood the [contribution guidelines](https://github.com/veggiemonk/awesome-docker/blob/master/.github/CONTRIBUTING.md) +# Rules for Pull Request -- The project submitted conforms to the quality standards outlined in the [contribution guidelines](https://github.com/veggiemonk/awesome-docker/blob/master/.github/CONTRIBUTING.md) +- Each item should be limited to one link, no duplicates, no redirection (careful with `http` vs `https`!) +- The link should be the name of the package or project or website +- Description should be clear and concise (read it out loud to be sure) +- Description should follow the link, on the same line +- Entries are listed alphabetically, please respect the order +- If you want to add more than one link, please don't do all PR on the exact same line, it usually results in conflicts and your PR cannot be automatically merged... -- Go to the [contribution guidelines](https://github.com/veggiemonk/awesome-docker/blob/master/.github/CONTRIBUTING.md) and read it again. +Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. - -**RULES (because you probably didn't read the guidelines):** - -Links will be tested with [awesome_bot](https://github.com/dkhamsing/awesome_bot). Please make sure your URL to be listed is unique (do some search queries), otherwise put a link at the end of `README.md` file. - -- FORMAT - - Use the following format: `[Name](Link) - Description.` - - `[Name]` should be the title of the project - - `(Link)` should be pointing to a GitHub repository, not to a website - - `Description.` should end with a full stop/period - - For GitHub repositories, add the name of the author with a link to its GitHub account after the description, like `By [@author](GitHub account)` -- ORDER: The entries are in lexical order (English letter order) -- LABEL (Optional): Add one of the following icons next to the project name like ```[Name](Link) :icon: - Description.``` - - :heavy_dollar_sign: indicates if one needs a paying subscription to use the project. - - :construction: indicates that the project is a work in progress/beta release. - - :skull: indicates that the project is obsolete, but still worth mentioning it. +#### Your commit message will be a [tweet](https://twitter.com/awesome_docker) so write a [good commit message](https://chris.beams.io/posts/git-commit/), keep that in mind :) \ No newline at end of file diff --git a/.github/main.workflow b/.github/main.workflow index f2fa6d2..4727a48 100644 --- a/.github/main.workflow +++ b/.github/main.workflow @@ -1,10 +1,18 @@ workflow "New workflow" { on = "push" - resolves = ["Shell"] + resolves = ["push changes"] +} + +action "skip-commit" { + uses = "veggiemonk/skip-commit@449e94fa83e7918c4079f37322205e17b868f993" + env = { + COMMIT_FILTER = "skip-ci" + } } action "npm install" { uses = "actions/npm@de7a3705a9510ee12702e124482fad6af249991b" + needs = ["skip-commit"] args = "install" } @@ -14,14 +22,27 @@ action "npm run build" { args = "run build" } -action "Shell" { - uses = "veggiemonk/bin/git@master" - args = "TOKEN=$GITHUB_TOKEN node buildMetadata.js && ./push.sh" +action "Build metadata" { needs = ["npm run build"] + uses = "actions/npm@master" + runs = "sh -l -c" + args = ["node buildMetadata.js"] secrets = ["GITHUB_TOKEN"] env = { - "GIT_EMAIL" = "alex.blaine@layder.io" + GIT_EMAIL = "alex.blaine@layder.io" GIT_USERNAME = "veggiemonk" } - runs = "sh -c \"$@\"" +} + +action "push changes" { + uses = "veggiemonk/bin/git@master" + needs = ["Build metadata"] + runs = "sh -c $@" + args = "push.sh" + secrets = ["GITHUB_TOKEN"] + env = { + GIT_EMAIL = "alex.blaine@layder.io" + GIT_USERNAME = "veggiemonk-bot" + GIT_USER = "veggiemonk" + } } diff --git a/.travis.yml b/.travis.yml index 0de8b97..9d93500 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,4 +21,4 @@ before_script: script: - awesome_bot README.md --white-list edit/master,sindresorhus/awesome,www.udacity.com,screwdriver.cd,veggiemonk/awesome-docker,vimeo.com,cycle.io - - TOKEN=$GITHUB_TOKEN node buildMetadata.js && ./push.sh + - node buildMetadata.js && ./push.sh diff --git a/buildMetadata.js b/buildMetadata.js index f1a425f..d1db1ee 100644 --- a/buildMetadata.js +++ b/buildMetadata.js @@ -17,11 +17,13 @@ const handleFailure = err => { process.on('unhandledRejection', handleFailure); -if (!process.env.TOKEN) { +if (!process.env.GITHUB_TOKEN) { LOG.error('no credentials found.'); process.exit(1); } +const TOKEN = process.env.GITHUB_TOKEN + // --- ENV VAR --- const BATCH_SIZE = parseInt(process.env.BATCH_SIZE, 10) || 10; const DELAY = parseInt(process.env.DELAY, 10) || 3000; @@ -35,6 +37,7 @@ const DATE = dayjs().format('YYYY-MM-DDTHH.mm.ss'); const GITHUB_METADATA_FILE = `${DATA_FOLDER}/${DATE}-fetched_repo_data.json`; const LATEST_FILENAME = `${DATA_FOLDER}/latest`; const GITHUB_REPOS = `${DATA_FOLDER}/repository.json`; +const Authorization = `token ${TOKEN}` // --- HTTP --- const API = 'https://api.github.com/'; @@ -43,7 +46,7 @@ const options = { headers: { 'User-Agent': 'awesome-docker script listing', 'Content-Type': 'application/json', - Authorization: `token ${process.env.TOKEN}`, + Authorization, }, }; diff --git a/push.sh b/push.sh index f559fa2..8bb625f 100755 --- a/push.sh +++ b/push.sh @@ -4,8 +4,8 @@ set -e # Set git credentials -git config --global user.email "info@veggiemonk.ovh" -git config --global user.name "veggiemonk-bot" +git config --global user.email "$GIT_EMAIL" +git config --global user.name "$GIT_USERNAME" # let git know where to apply the changes git checkout master @@ -18,9 +18,9 @@ files=$(git diff --cached --numstat | wc -l | tr -d '[:space:]'); [[ $files -eq 0 ]] && echo "nothing to push, exiting..." && exit echo "Commiting files" -git commit -m "Automated update repository metadata [skip ci]" +git commit -m "Automated update repository metadata [skip-ci]" echo "Pushing changes" -git push https://$GITHUB_USER:$GITHUB_TOKEN@github.com/veggiemonk/awesome-docker master >/dev/null 2>&1 +git push https://"$GIT_USER:$GITHUB_TOKEN"@github.com/veggiemonk/awesome-docker master >/dev/null 2>&1 echo "Done."