Skip to content

qualcomm-linux/debusine-action

Debusine Package Manager Action

A GitHub Actions composite action that automates uploading Debian source packages and triggering Debusine workflows.


Overview

This action wraps three sub-actions into a single configurable step:

Sub-action Purpose
setup Installs debusine-client and configures authentication
import-artifact Uploads a .dsc source package to a Debusine workspace
run-workflow Starts a named Debusine workflow with the uploaded artifact

The repository also contains higher-level reusable packaging workflows. Those workflows generate source packages in suite-specific GHCR builder images and run Debusine client and release steps in the trixie builder image published from this repository.


Usage

- name: Run Debusine Package Manager
  uses: ./.github/actions/debusine-action
  with:
    mode: 'upload+run'
    debusine_token: ${{ secrets.DEBUSINE_TOKEN }}
    artifact_path: 'path/to/package.dsc'
    workspace: 'developers'
    workflow_name: 'my-workflow'
    runtime_parameters: |
      codename: trixie
      lintian_backend: unshare

Inputs

Input Required Default Description
mode No upload+run Execution mode (see below)
debusine_token Yes Debusine API token
artifact_path No Path to the .dsc file
workspace No developers Debusine workspace name
workflow_name No Workflow name to execute
artifact_id No 0 Artifact ID (for run_only mode)
runtime_parameters No Runtime parameters as a YAML block
debusine_server No dev.debian.qualcomm.com Debusine server URL
debusine_scope No qualcomm Debusine API scope

Modes

Mode Runs Setup Imports Artifact Runs Workflow
upload+run
upload_only
run_only

Outputs

Output Description
artifact_id ID of the uploaded artifact
workflow_id ID of the started workflow
workflow_url Direct URL to the workflow on the Debusine server

Example Workflow

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/qualcomm-linux/debusine-pkg-builder:trixie
      options: --user root
    steps:
      - uses: actions/checkout@main
        with:
          path: .github/actions/debusine-action

      - uses: ./.github/actions/debusine-action
        id: debusine
        with:
          mode: 'upload+run'
          debusine_token: ${{ secrets.DEBUSINE_TOKEN }}
          artifact_path: 'path/to/package.dsc'
          workspace: 'developers'
          workflow_name: 'test-sbuild-pipe'
          debusine_server: 'dev.debian.qualcomm.com'
          debusine_scope: 'qualcomm'
          runtime_parameters: |
            codename: trixie
            lintian_backend: unshare
            sbuild_backend: unshare

      - run: |
          echo "Artifact ID:  ${{ steps.debusine.outputs.artifact_id }}"
          echo "Workflow ID:  ${{ steps.debusine.outputs.workflow_id }}"
          echo "Workflow URL: ${{ steps.debusine.outputs.workflow_url }}"

Secrets

Add the following secret to your repository under Settings → Secrets and variables → Actions:

Secret Description
DEBUSINE_TOKEN Your Debusine API authentication token

Tests

Tests are located in tests/ and are executed automatically as part of the build-test.yml workflow.

tests/
├── debusine-trigger-test.sh        # Test runner
└── test-cases/
    ├── setup_tests.json            # Verifies installation and config
    ├── import_artifact_tests.json  # Verifies .dsc upload and artifact ID
    └── run_workflow_tests.json     # Verifies workflow start and outputs

Getting in Contact

If you have questions, suggestions, or issues related to this project, there are several ways to reach out:

License

debusine-action is licensed under the BSD-3-Clause-Clear License. See LICENSE.txt for the full license text.

About

A GitHub Actions composite action that automates uploading Debian source packages and triggering Debusine workflows.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors