Skip to content
elixir-cloud-aaiPublic

About

Organization-wide policies, reusable components and workflows

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

ELIXIR On-Cloud

Community health files and shared actions

License Build_status

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.

Community health files

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):

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).

Shared actions

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.

Development

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.sh

Contributing

Contributions 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.

About

Organization-wide policies, reusable components and workflows

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages