Organisation-wide defaults and shared CI building blocks for the repositories of ELIXIR On-Cloud: the community health files that GitHub uses for every repository without its own version, the organisation's profile page, composite actions and workflow templates.
GitHub uses these files for every repository of the organisation that doesn't have its own version (see GitHub's documentation on default community health files):
- code of conduct;
- contributing guidelines;
- security policy;
- support guide;
- issue templates;
- pull request template.
The organisation's repositories don't override them with files of their own, so that all repositories follow the same rules: change the defaults here, and describe repository specifics in each repository's documentation.
profile/README.md is the organisation's home page on
GitHub.
This repository is also the source of the organisation's discussion
board: the forms in
.github/DISCUSSION_TEMPLATE/ structure new
posts in its Q&A and Adoption categories (one form per category, named after
its slug).
Composite actions, in actions/<name>/, that the other repositories share
and pin to the commit of a release:
gate: checks the results of the jobs a CI gate needs.pr-title: checks pull request titles.scan-image: scans Docker images with Trivy.
workflow-templates/ offers the PR title workflow as
a template for new workflows in the organisation's repositories.
The maintainer releases the actions from signed version tags;
RELEASING.md describes how they are versioned and released.
CI (.github/workflows/ci.yml) runs the pre-commit
hooks of .pre-commit-config.yaml: YAML syntax and GitHub's schemas (issue
forms, workflows, actions, Dependabot), Markdown style (markdownlint),
secrets (gitleaks), shell scripts (shellcheck) and the workflows
(actionlint). Its test job runs the tests of the composite actions
(tests/<action>/test.sh), the actions themselves and the tests of the
release scripts (tests/release/test.sh). Run them locally before you push:
pre-commit install
pre-commit run --all-files
# The whole checkout, as in CI (also untracked and ignored files)
pre-commit run --all-files --hook-stage manual gitleaks-all
bash tests/pr-title/test.sh
bash tests/gate/test.sh
bash tests/release/test.shContributions are welcome! See the contributing guidelines and mind our code of conduct. Report vulnerabilities as described in our security policy. For help, see the support guide.