Gh actions (#662)

* GitHub Actions
This commit is contained in:
Julien Bisconti 2019-01-25 22:26:52 +01:00 committed by GitHub
parent 82d9ebe503
commit cf38d3e8b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 67 additions and 56 deletions

View File

@ -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

View File

@ -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)
```

View File

@ -1,37 +1,39 @@
<!-- Congrats on creating an Awesome Docker entry! 🎉 -->
# Quality Standards
<!-- Please fill in the below placeholders -->
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 :)

33
.github/main.workflow vendored
View File

@ -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"
}
}

View File

@ -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

View File

@ -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,
},
};

View File

@ -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."