Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/liblaf/actions

This repository contains a collection of GitHub Actions for automating various tasks such as authentication, auto-merging pull requests, installing software packages, and creating GitHub releases.
https://github.com/liblaf/actions

automation cd ci ci-cd continuous-deployment continuous-integration devops github-actions github-app package-management package-manager pull-request-automation release-management software-installation

Last synced: 20 days ago
JSON representation

This repository contains a collection of GitHub Actions for automating various tasks such as authentication, auto-merging pull requests, installing software packages, and creating GitHub releases.

Awesome Lists containing this project

README

        

# 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](./auth-app/)**: Authenticates with a GitHub App to generate an installation access token for specified repositories.
- **[auto-merge](./auto-merge/)**: Automatically merges pending pull requests generated by Release-Please, filtering by GitHub App author and label.
- **[install](./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](./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

```yaml
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
```

## External Links

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

- [bot-auto-merge.yaml at liblaf/actions](https://github.com/liblaf/actions/blob/main/.github/workflows/bot-auto-merge.yaml)
- [ci.yaml at liblaf/python-cli](https://github.com/liblaf/python-cli/blob/main/.github/workflows/ci.yaml)

## License

This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.

## Contributing

Contributions are welcome! Please read the [CONTRIBUTING.md](https://github.com/liblaf/.github/blob/main/.github/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](https://github.com/liblaf/actions/issues).