Skip to content

Latest commit

 

History

History
57 lines (38 loc) · 4.08 KB

README.md

File metadata and controls

57 lines (38 loc) · 4.08 KB

Ploutos: User guide

In this documentation we'll show you how to invoke the NLnet Labs Rust Cargo Packaging reusable workflow (hereafter the "Ploutos workflow") from your own repository and how to create the supporting files needed.

WARNING: Using Ploutos is free for public GitHub repositories, but is NOT FREE for private GitHub repositories. As Ploutos runs many jobs in parallel (if configured to build for multiple package types and/or targets) it can consume a LOT of GitHub Actions minutes. If you exceed the free limits for GitHub private repositories it will cost money! For example a workflow that ran for ~11 minutes actually used ~141 minutes of GitHub Actions resources in total.

Contents:

See also

  • FAQ: If your question isn't answered here, or you'd just like to know more, checkout the FAQ.

  • Ploutos presentation: Learn more about Ploutos and see it in action as presented at the November 30 2022 Rust Nederland meetup.

  • The starter workflow: If you already know how to use this workflow but just want to quickly add it to a new project you might find the starter workflow helpful (only visible to NLnet Labs GitHub organization members unfortunately).

  • The demo template: This template can be used to create your own repository with sample input files and workflow invocation to get started with the Ploutos workflow.

  • Examples of the workflow in use: This documentation contains some limited examples but if you're looking for real world examples of how to invoke and configure the Ploutos workflow take a look at the projects that are already using the Ploutos workflow.

  • The testing repository: The https://github.com/NLnetLabs/ploutos-testing/ repository contains test data and workflow invocations for automated testing of as many features of Ploutos as possible.

Getting started

  1. Decide which package types you want to create.
  2. Determine which inputs you need to provide to the Ploutos workflow.
  3. Create the files in your repository that will be referenced by the inputs (perhaps start from the template).
  4. Call the Ploutos workflow from your own workflow with the chosen inputs (by hand or via the starter workflow).
  5. Run your workflow (e.g. triggered by a push, or use the GitHUb workflow_dispatch manual trigger).
  6. Use the created packages:
    • DEB and RPM packages will be attached as artifacts to the workflow run that you can download.
    • Docker images will have been published to Docker Hub.
  7. (optional) Publish your DEB and RPM packages to a repository somewhere.

Examples

Key concepts and general configuration

Read this page to learn more about key concepts and general configuration not specific to any single packaging type.

Creating specific package types

To learn more about how to build a particular package type using the Ploutos workflow see: