bumpx-action
Version:
GitHub Action for bumpx version bumping tool.
214 lines (153 loc) • 5.62 kB
Markdown
<p align="center"><img src=".github/art/cover.jpg" alt="Social Card of this repo"></p>
[![npm version][npm-version-src]][npm-version-href]
[![GitHub Actions][github-actions-src]][github-actions-href]
[](http://commitizen.github.io/cz-cli/)
<!-- [![npm downloads][npm-downloads-src]][npm-downloads-href] -->
<!-- [![Codecov][codecov-src]][codecov-href] -->
# bumpx Installer
A GitHub Action to install system dependencies using bumpx.
## Usage
This action allows you to easily install dependencies with bumpx in your GitHub Actions workflows.
```yaml
- name: Install Dependencies with bumpx
uses: stacksjs/bumpx-installer@v1
# Automatically detects and installs project dependencies
# Optional parameters:
# with:
# packages: node python go # override auto-detection
# config-path: bumpx.config.ts
```
## Inputs
| Name | Description | Required | Default |
|------------|---------------------------------------|----------|----------------------|
| packages | Space-separated list of packages to install (overrides auto-detection) | No | (empty) - auto-detects from project files |
| config-path | Path to bumpx config file | No | `bumpx.config.ts` |
## Features
- 🚀 **Cross-platform support**: Works on Linux, macOS, and Windows runners
- 🔍 **Smart dependency detection**: Automatically detects project dependencies from package.json, requirements.txt, go.mod, and more
- 🔄 **Config file support**: Can extract package list from your bumpx config file
- 🌐 **Context-aware**: Provides full GitHub context to commands
- 🔧 **Bun-powered**: Uses Bun for faster installation
## Examples
### Basic Usage (Auto-detection)
```yaml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
uses: stacksjs/bumpx-installer@v1
# Automatically detects Node.js from package.json
# and installs node + any other detected dependencies
```
### Using with Config File
```yaml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies from Config
uses: stacksjs/bumpx-installer@v1
# Will automatically detect packages from bumpx.config.ts
```
### Multi-platform Workflow
```yaml
name: Multi-platform CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
uses: stacksjs/bumpx-installer@v1
# Auto-detects dependencies across all platforms
```
### Manual Package Override
```yaml
name: Manual Override
on:
push:
branches: [main]
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Specific Dependencies
uses: stacksjs/bumpx-installer@v1
with:
packages: node python go rust
# Override auto-detection with specific packages
- name: Run Tests
run: npm test
```
### Custom Config Path
```yaml
name: Custom Config
on:
push:
branches: [main]
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies from Custom Config
uses: stacksjs/bumpx-installer@v1
with:
config-path: .github/bumpx.config.ts
- name: Run Tests
run: npm test
```
## Testing
```bash
bun test
```
## Changelog
Please see our [releases](https://github.com/stacksjs/bumpx-installer/releases) page for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
## Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
[Discussions on GitHub](https://github.com/stacksjs/bumpx/discussions)
For casual chit-chat with others using this package:
[Join the Stacks Discord Server](https://discord.gg/stacksjs)
## Postcardware
"Software that is free, but hopes for a postcard." We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.
Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States 🌎
## Sponsors
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
- [JetBrains](https://www.jetbrains.com/)
- [The Solana Foundation](https://solana.com/)
## License
The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.
Made with 💙
<!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/bumpx-installer?style=flat-square
[npm-version-href]: https://npmjs.com/package/bumpx-installer
[github-actions-src]: https://img.shields.io/github/actions/workflow/status/stacksjs/bumpx-installer/ci.yml?style=flat-square&branch=main
[github-actions-href]: https://github.com/stacksjs/bumpx-installer/actions?query=workflow%3Aci
<!-- [codecov-src]: https://img.shields.io/codecov/c/gh/stacksjs/bumpx-installer/main?style=flat-square
[codecov-href]: https://codecov.io/gh/stacksjs/bumpx-installer -->