Improve AI prompt #206
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CD | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: false | |
permissions: | |
contents: write | |
actions: write | |
packages: write | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
ACTIONS_RUNTIME_TOKEN: dummy | |
CARGO_TERM_COLOR: always | |
jobs: | |
artifact: | |
runs-on: ${{ matrix.os }} | |
continue-on-error: false | |
strategy: | |
matrix: | |
include: | |
- os: macos-latest | |
target: x86_64-apple-darwin | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
- os: macos-latest | |
target: aarch64-apple-darwin | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-musl | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
target: ${{ matrix.target }} | |
override: true | |
profile: minimal | |
- name: Add x86_64-unknown-linux-musl target | |
if: matrix.target == 'x86_64-unknown-linux-musl' | |
run: | | |
rustup target add x86_64-unknown-linux-musl | |
sudo apt-get update && sudo apt-get install -y musl-tools | |
- name: Install Dependencies for musl Target | |
if: matrix.target == 'x86_64-unknown-linux-musl' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y pkg-config libssl-dev | |
- name: Build for target | |
run: | | |
cargo build \ | |
-Z unstable-options \ | |
--profile dev \ | |
--artifact-dir bin \ | |
--target ${{ matrix.target }} | |
- name: Upload and compress artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: git-ai-${{ matrix.target }} | |
if-no-files-found: error | |
path: bin/git-* | |
release: | |
runs-on: ubuntu-latest | |
needs: artifact | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
profile: minimal | |
- name: Configure git user name | |
run: git config user.name ${{ github.actor }} | |
- name: Configure git email | |
run: git config user.email ${{ github.actor }}@users.noreply.github.com | |
- name: Install cargo-bump | |
run: cargo install cargo-bump | |
- name: Bump version | |
run: cargo bump patch --git-tag | |
- name: Commit Version Bump | |
run: git commit -a --amend --no-edit | |
- name: New version | |
id: app | |
run: echo "version=$(git describe --tags --abbrev=0 HEAD)" >> $GITHUB_OUTPUT | |
- name: Delete old tag | |
run: git tag -d ${{ steps.app.outputs.version }} | |
- name: Create new tag | |
run: git tag v${{ steps.app.outputs.version }} | |
- name: Publish to crates.io | |
run: cargo publish --allow-dirty | |
- name: Push to origin | |
run: git push origin HEAD --tags | |
- name: Download all artifacts | |
run: gh run download ${{ github.run_id }} | |
- name: Zip each downloaded directory | |
run: | | |
for dir in $(ls -d git-ai-*); do | |
tar -czf ${dir}.tar.gz ${dir} | |
done | |
- name: Uploads compressed artifacts | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: v${{ steps.app.outputs.version }} | |
fail_on_unmatched_files: true | |
files: git-ai-*.tar.gz |