name: CI and Version Bump
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build project
run: cargo build --release
- name: Run tests
run: cargo test --release
version-bump:
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up Git
run: |
git config user.name "GitHub Action"
git config user.email "action@github.com"
- name: Bump version
run: cargo install cargo-edit && cargo set-version --bump patch
- name: Commit and push version change
run: |
git commit -am "Bump version to $(cargo pkgid | cut -d'@' -f2)"
git push origin ${{ github.ref }}
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.version.outputs.new_version }}
release_name: Release ${{ steps.version.outputs.new_version }}
draft: false
prerelease: false