getquotes 0.7.0

A simple cli tool to get quotes in your terminal using WikiQuotes
name: ⚒️ Create Release
on:
  workflow_call:
    secrets:
      CRATES_IO_TOKEN:
        required: true
      AUR_USERNAME:
        required: true
      AUR_EMAIL:
        required: true
      AUR_SSH_PRIVATE_KEY:
        required: true
      TOKEN:
        required: true
jobs:
  release-github:
    name: 🚀 Create GitHub Release
    runs-on: ubuntu-latest
    steps:
      - name: 🔍 Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: 📥 Download All Artifacts
        uses: actions/download-artifact@v4
        with:
          path: artifacts
      - name: 🏷️ Extract Version Tag
        id: get_version
        run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
      - name: 🎉 Create GitHub Release
        uses: softprops/action-gh-release@v1
        with:
          tag_name: ${{ steps.get_version.outputs.VERSION }}
          files: |
            artifacts/linux-x86_64-unknown-linux-gnu/getquotes-x86_64-unknown-linux-gnu.tar.gz
            artifacts/linux-aarch64-unknown-linux-gnu/getquotes-aarch64-unknown-linux-gnu.tar.gz
            artifacts/macos-x86_64-apple-darwin/getquotes-x86_64-apple-darwin.tar.gz
            artifacts/macos-aarch64-apple-darwin/getquotes-aarch64-apple-darwin.tar.gz
            artifacts/windows-x86_64-pc-windows-gnu/getquotes-x86_64-pc-windows-gnu.zip
            artifacts/windows-x86_64-pc-windows-msvc/getquotes-x86_64-pc-windows-msvc.zip
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 🎴 Setup Node
        uses: actions/setup-node@v4
        with:
          registry-url: https://registry.npmjs.org/
          node-version: lts/*
      - name: 🌑 Create Release Notes
        run: npx changelogithub
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
  release-cargo:
    name: 🚀 Create Cargo Release
    needs: [release-github]
    runs-on: ubuntu-latest
    steps:
      - name: 🔍 Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 📦 Publish to crates.io
        run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }} --allow-dirty
        env:
          CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
  release-aur:
    name: 🚀 Create AUR Release
    runs-on: ubuntu-latest
    needs: [release-github]
    steps:
      - name: 🔍 Checkout Code
        uses: actions/checkout@v4
        with:
          ref: "main"
          fetch-depth: 0
      - name: 🔒 Update PKGBUILD pkgver
        run: |
          cd ci
          ./pkgbuild-ci.sh
          cd ..
      - name: 💠 Publish To Aur
        uses: KSXGitHub/github-actions-deploy-aur@v3.0.1
        with:
          pkgname: getquotes
          pkgbuild: ./packages/aur/getquotes/PKGBUILD
          updpkgsums: true
          commit_username: ${{ secrets.AUR_USERNAME }}
          commit_email: ${{ secrets.AUR_EMAIL }}
          ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
          commit_message: Update AUR package
          ssh_keyscan_types: rsa,ecdsa,ed25519
        env:
          AUR_USERNAME: ${{ secrets.AUR_USERNAME }}
          AUR_EMAIL: ${{ secrets.AUR_EMAIL }}
          AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
      - name: 💫 Commit PKGBUILD
        uses: EndBug/add-and-commit@v9
        with:
          add: "packages/aur/getquotes/PKGBUILD"
          message: "📝 Update PKGBUILD"
          default_author: github_actions
  release-brew:
    name: 🚀 Create Brew Release
    runs-on: ubuntu-latest
    needs: [release-github]
    steps:
      - name: 🔍 Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: 📦 Bump Homebrew Formula
        env:
          TOKEN: ${{ secrets.TOKEN }}
        run: |
          git clone https://github.com/MuntasirSZN/homebrew-programs.git
          git config --global url."https://${TOKEN}@github.com/".insteadOf "https://github.com/"
          ./ci/brew-ci.sh