Skip to content

Automation Thesis Wiki

Simcha Vos edited this page Mar 29, 2025 · 14 revisions

Welcome to the automations wiki! Find more details on each automation task on this page.

Artifacts

Artifact creation

Automations involved in compiling, packaging, and managing dependencies to generate an artifact.

Code compilation

Maturity level: Basic

Implemented by 14% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-compiler-plugin
  • Plugin org.eclipse.tycho:tycho-compiler-plugin
  • Plugin org.eclipse.xtend:xtend-maven-plugin
  • Runs "./gradlew build"
  • Uses gradle/gradle-build-action

Dependency management of artifact

Maturity level: Basic

Implemented by 14% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-dependency-plugin
  • Plugin org.eclipse.tycho:tycho-maven-plugin
  • Plugin org.codehaus.mojo:versions-maven-plugin
  • Runs "npm install"
  • Plugin org.apache.maven.plugins:maven-install-plugin
  • Plugin org.eclipse.tycho:tycho-p2-plugin

Build tasks, resources and configuration

Maturity level: Intermediate

Implemented by 13% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-resources-plugin
  • Plugin org.codehaus.mojo:build-helper-maven-plugin
  • Plugin org.eclipse.tycho:target-platform-configuration
  • Plugin org.apache.maven.plugins:maven-antrun-plugin
  • Plugin org.honton.chas:exists-maven-plugin
  • Plugin org.apache.maven.plugins:maven-remote-resources-plugin

Packaging

Maturity level: Intermediate

Implemented by 22% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.eclipse.tycho:tycho-packaging-plugin
  • Plugin org.apache.maven.plugins:maven-jar-plugin
  • Plugin org.springframework.boot:spring-boot-maven-plugin
  • Plugin org.eclipse.tycho:tycho-maven-plugin
  • Plugin org.apache.maven.plugins:maven-shade-plugin
  • Plugin org.apache.maven.plugins:maven-war-plugin
  • Runs "./gradlew build"
  • Runs "python build"
  • Runs "poetry build"
  • Runs "mvn package"
  • Uses gradle/gradle-build-action
  • Runs "zip"
  • Runs "tar"

Release management

Automations related to every aspect of the distribution of artifacts.

Source code version control

Maturity level: Basic

Implemented by 4% of repositories on GitHub.

Examples that implement this task are:

  • Plugin io.github.git-commit-id:git-commit-id-maven-plugin
  • Plugin pl.project13.maven:git-commit-id-plugin
  • Plugin org.apache.maven.plugins:maven-scm-plugin
  • Runs "git diff"

Generate source and metadata artifacts

Maturity level: Intermediate

Implemented by 7% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-source-plugin
  • Plugin org.eclipse.tycho:tycho-source-plugin
  • Plugin org.apache.felix:maven-bundle-plugin
  • Plugin biz.aQute.bnd:bnd-maven-plugin

Release tagging

Maturity level: Intermediate

Implemented by 14% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-release-plugin
  • Plugin org.codehaus.mojo:buildnumber-maven-plugin
  • Uses actions/create-release

Publish artifacts to a registry

Maturity level: Intermediate

Implemented by 36% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-assembly-plugin
  • Plugin org.apache.maven.plugins:maven-deploy-plugin
  • Plugin org.sonatype.plugins:nexus-staging-maven-plugin
  • Plugin org.apache.maven.plugins:maven-release-plugin
  • Uses softprops/action-gh-release
  • Runs "twine upload"
  • Uses actions/upload-artifact
  • Uses pypa/gh-action-pypi-publish
  • Runs "poetry publish"
  • Uses actions/create-release

Generate release notes

Maturity level: Advanced

Implemented by 1% of repositories on GitHub.

Examples that implement this task are:

  • Uses release-drafter/release-drafter

Containerization

Maturity level: Advanced

Implemented by 6% of repositories on GitHub.

Examples that implement this task are:

  • Uses docker/metadata-action
  • Runs "docker build"
  • Uses docker/setup-buildx-action
  • Uses docker/setup-qemu-action
  • Runs "docker run"

Push container to remote

Maturity level: Advanced

Implemented by 5% of repositories on GitHub.

Examples that implement this task are:

  • Uses docker/build-push-action
  • Runs "docker push"

Development

Pipeline

Automation workflows used in a runner for execution and optimization of CI/CD pipelines.

Package management

Maturity level: Basic

Implemented by 36% of repositories on GitHub.

Examples that implement this task are:

  • Runs "python pip"
  • Runs "pip"
  • Runs "python pip"
  • Runs "poetry install"
  • Runs "python3 pip"
  • Runs "apt"
  • Runs "apt-get"
  • Runs "python setup.py"
  • Runs "pip3"
  • Runs "poetry config"
  • Uses snok/install-poetry
  • Runs "conda install"
  • Runs "brew install"
  • Runs "pipx"
  • Runs "uv"

Build environment configuration

Maturity level: Basic

Implemented by 49% of repositories on GitHub.

Examples that implement this task are:

  • Uses docker/setup-buildx-action
  • Uses docker/setup-qemu-action
  • Uses actions/github-script
  • Uses docker/login-action
  • Runs "export"
  • Runs "source"
  • Runs "poetry run"
  • Runs "set"
  • Uses conda-incubator/setup-miniconda
  • Plugin org.codehaus.mojo:flatten-maven-plugin
  • Uses actions/setup-python
  • Uses actions/setup-java
  • Uses actions/setup-node
  • Uses docker/setup-qemu-action

Build files configuration

Maturity level: Intermediate

Implemented by 13% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-clean-plugin
  • Runs "curl"
  • Runs "wget"
  • Runs "mvn clean"
  • Runs "git clone"
  • Plugin org.commonjava.maven.plugins:directory-maven-plugin
  • Runs "git fetch"

Optimization

Maturity level: Advanced

Implemented by 14% of repositories on GitHub.

Examples that implement this task are:

  • Uses actions/cache
  • Uses actions/download-artifact

Code quality

Testing

Run tests

Maturity level: Basic

Implemented by 23% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-surefire-plugin
  • Plugin org.eclipse.tycho:tycho-surefire-plugin
  • Plugin org.apache.maven.plugins:maven-failsafe-plugin
  • Runs "pytest"
  • Runs "python pytest"
  • Runs "make test"
  • Runs "mvn test"
  • Runs "./build/mvn"
  • Runs "python unittest"

Test coverage and validity

Maturity level: Intermediate

Implemented by 9% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.jacoco:jacoco-maven-plugin
  • Plugin org.codehaus.mojo:cobertura-maven-plugin
  • Runs "coverage run"
  • Runs "tox"

Generate test reports

Maturity level: Intermediate

Implemented by 10% of repositories on GitHub.

Examples that implement this task are:

  • Uses codecov/codecov-action
  • Runs "coverage report"
  • Runs "coveralls"
  • Plugin org.eluder.coveralls:coveralls-maven-plugin

Linting

Automatic code formatting

Maturity level: Intermediate

Implemented by 10% of repositories on GitHub.

Examples that implement this task are:

  • Plugin net.revelc.code.formatter:formatter-maven-plugin
  • Plugin com.diffplug.spotless:spotless-maven-plugin
  • Plugin net.revelc.code:impsort-maven-plugin
  • Runs "flake8"
  • Runs "black"
  • Runs "ruff check"
  • Uses psf/black
  • Plugin com.github.ekryd.sortpom:sortpom-maven-plugin

Static code quality analysis

Maturity level: Intermediate

Implemented by 5% of repositories on GitHub.

Examples that implement this task are:

  • Plugin com.github.spotbugs:spotbugs-maven-plugin
  • Plugin org.apache.maven.plugins:maven-pmd-plugin
  • Plugin org.codehaus.mojo:findbugs-maven-plugin
  • Plugin org.sonarsource.scanner.maven:sonar-maven-plugin
  • Plugin org.codehaus.mojo:animal-sniffer-maven-plugin
  • Plugin org.gaul:modernizer-maven-plugin
  • Runs "mypy"
  • Runs "pylint"

Static code style analysis

Maturity level: Intermediate

Implemented by 9% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-checkstyle-plugin
  • Runs "flake8"
  • Runs "ruff check"
  • Runs "pylint"

Verify packaging correctness

Maturity level: Advanced

Implemented by 6% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.basepom.maven:duplicate-finder-maven-plugin
  • Runs "twine check"
  • Plugin org.apache.maven.plugins:maven-enforcer-plugin

Security and compliance

Vulnerability scans

Maturity level: Advanced

Implemented by 6% of repositories on GitHub.

Examples that implement this task are:

  • Uses github/codeql-action/init
  • Uses github/codeql-action/analyze
  • Uses github/codeql-action/autobuild

Sign artifacts

Maturity level: Advanced

Implemented by 3% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-gpg-plugin

License checks

Maturity level: Advanced

Implemented by 2% of repositories on GitHub.

Examples that implement this task are:

  • Plugin com.mycila:license-maven-plugin
  • Plugin org.apache.rat:apache-rat-plugin
  • Plugin org.codehaus.mojo:license-maven-plugin

Collaboration

Documentation

Generate documentation from source code

Maturity level: Basic

Implemented by 7% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-javadoc-plugin
  • Plugin org.apache.maven.plugins:maven-plugin-plugin

Prepare or create documentation artifacts

Maturity level: Basic

Implemented by 18% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-site-plugin
  • Uses actions/upload-pages-artifact
  • Runs "make html"
  • Uses actions/configure-pages
  • Runs "sphinx-build"
  • Runs "mkdocs"

Publish documentation

Maturity level: Advanced

Implemented by 5% of repositories on GitHub.

Examples that implement this task are:

  • Plugin org.apache.maven.plugins:maven-scm-publish-plugin
  • Uses actions/deploy-pages
  • Uses peaceiris/actions-gh-pages
  • Uses JamesIves/github-pages-deploy-action

Social coding

Commit validation

Maturity level: Intermediate

Implemented by 4% of repositories on GitHub.

Examples that implement this task are:

  • Uses pre-commit/action
  • Runs "pre-commit run"

Bot commits

Maturity level: Intermediate

Implemented by 6% of repositories on GitHub.

Examples that implement this task are:

  • Runs "git commit"
  • Runs "git push"
  • Runs "git add"
  • Runs "git config"

Issues or PRs management

Maturity level: Advanced

Implemented by 3% of repositories on GitHub.

Examples that implement this task are:

  • Uses actions/stale
  • Uses peter-evans/create-pull-request
Clone this wiki locally