Skip to content

GitHub Actions Collection¤

This repository contains a collection of GitHub Actions designed to automate various tasks within your GitHub workflows. Each action is tailored to perform specific functions, enhancing the efficiency and reliability of your CI/CD pipelines.

Actions Included¤

  • auth-app: Authenticates with a GitHub App to generate an installation access token for specified repositories.
  • auto-merge: Automatically merges pending pull requests generated by Release-Please, filtering by GitHub App author and label.
  • install: Installs software packages using various package managers (APT, Homebrew, Chocolatey, eget, Linuxbrew, NPM, and pipx) based on the operating system and inputs provided.
  • release: Automates the process of creating a release on GitHub, including generating a changelog, formatting it, and uploading specified assets.

Usage¤

Each action is designed to be used independently within your GitHub workflows. Refer to the individual action's README for detailed usage instructions and examples.

Example Workflow¤

name: Example Workflow

on: [push]

jobs:
  authenticate:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Authenticate with GitHub App
        uses: liblaf/actions/auth-app@main
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.PRIVATE_KEY }}

  install:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Packages
        uses: liblaf/actions/install@main
        with:
          apt: "package1 package2"
          brew: "package3 package4"

  release:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Create Release
        uses: liblaf/actions/release@main
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          tag: v1.0.0
          clobber: true
          prerelease: false
          hasher: sha256
          files: |
            dist/*.tar.gz
            dist/*.zip

Explore how this project is used in real-world scenarios:

License¤

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing¤

Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.

Issues¤

If you encounter any issues or have suggestions for improvements, please open an issue on the GitHub repository.