Skip to content

Alpine Package Releaser

Actions
Builds and releases to GitHub pages the Alpine Linux packages from the repository.
v1.1.1
Latest
Star (3)

Tags

 (1)

abuild releaser action

Lint

GitHub action to build and release to GitHub pages Alpine Linux aport packages contained in a repository.

Pre-requisites

First, follow the Alpine Linux guide on Creating an Alpine Package. Make sure to generate a RSA key by using abuild-keygen -a -i. Save the public and private keys, and set them as the repository secrets: RSA_PUBLIC_KEY and RSA_PRIVATE_KEY. This key will be used to sign the packages, and the build process will place the public key in the gh-pages branch.

NOTE: This action will find all of the APKBUILD files in the repository if packages_dir is not specified, and will build all of these packages. Therefore, you should only have APKBUILD files from the packages you want to publish, or provide the packages_dir option.

Usage

- uses: ivanvc/abuild-releaser-action@main
with:
  # The following fields are required.
  # The author to use for the released apk packages.
  author: ''

  # The RSA public key used to sign the packages, set it as a secret.
  rsa_public_key: ''

  # The RSA private key used to sign the packages, set it as a secret.
  rsa_private_key: ''

  # The rest of the fields are optional.
  # The commit message when updating the gh-pages branch.
  commit_message: ''

  # Generate multiple index pages, one per directory.
  # Default: false
  generate_index_pages: ''

  # Generate a single index page.
  # Default: true
  generate_single_index_page: ''

  # Override the index page template with a file that exists in the gh-pages
  # branch. If the file doesn't exist, or it's not provided, it will use the
  # default index.html.tpl.
  index_page_template: ''

  # Release only the packages from the provided directories, release all of them
  # if this is not provided.
  packages_dir: ''

  # Alpine branch (release): vMAJOR.MINOR, latest-stable or edge.
  # Default: edge
  alpine_branch: ''

Refer to action.yml for the complete documentation.

Example usage

Release all packages in the repository:

name: Release

on:
  push:
    branches:
      - main

permissions:
  contents: write

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ivanvc/[email protected]
        with:
          author: John Doe <[email protected]>
          rsa_public_key: ${{ secrets.RSA_PUBLIC_KEY }}
          rsa_private_key: ${{ secrets.RSA_PRIVATE_KEY }}

Release only the packages inside the testing directory, and community/docker:

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ivanvc/[email protected]
        with:
          author: John Doe <[email protected]>
          rsa_public_key: ${{ secrets.RSA_PUBLIC_KEY }}
          rsa_private_key: ${{ secrets.RSA_PRIVATE_KEY }}
          package_dirs: "testing/*,community/docker"

License

See LICENSE © Ivan Valdes

Alpine Package Releaser is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Builds and releases to GitHub pages the Alpine Linux packages from the repository.
v1.1.1
Latest

Tags

 (1)

Alpine Package Releaser is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.