Bump reqwest from 0.12.1 to 0.12.2 (#75) #214
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: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
tags: | |
- v* | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
RUSTFLAGS: --deny warnings | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Cargo Check | |
run: cargo check --locked | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Run Tests | |
run: cargo test | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy, rustfmt | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Check Formatting | |
run: cargo fmt --all -- --check | |
- name: Run Linting | |
run: cargo clippy --all-targets --all-features | |
version: | |
name: Parse Release Version | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.version.outputs.version }} | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
steps: | |
- name: Set Version Number | |
id: version | |
run: | | |
VERSION=${GITHUB_REF#refs/tags/v} | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
build: | |
name: Build Release Binaries | |
runs-on: ${{ matrix.os }} | |
needs: | |
- check | |
- test | |
- lint | |
- version | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
strategy: | |
matrix: | |
include: | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
platform: linux | |
arch: x86_64 | |
name: ig | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
platform: macos | |
arch: x86_64 | |
name: ig | |
- target: aarch64-apple-darwin | |
os: macos-latest | |
platform: macos | |
arch: arm64 | |
name: ig | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
platform: windows | |
arch: x86_64 | |
name: ig.exe | |
- target: aarch64-pc-windows-msvc | |
os: windows-latest | |
platform: windows | |
arch: arm64 | |
name: ig.exe | |
steps: | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: ${{ matrix.target }} | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
cargo build --release --locked --target ${{ matrix.target }} | |
- name: Prepare Artifacts | |
env: | |
VERSION: ${{ needs.version.outputs.version }} | |
run: | | |
cd target/${{ matrix.target }}/release | |
tar czvf ../../../ig-${{ env.VERSION }}-${{ matrix.platform }}-${{ matrix.arch }}.tar.gz ${{ matrix.name }} | |
cd - | |
- name: Upload Built Binaries | |
uses: actions/upload-artifact@v4 | |
env: | |
VERSION: ${{ needs.version.outputs.version }} | |
with: | |
name: ig-${{ env.VERSION }}-${{ matrix.platform }}-${{ matrix.arch }}.tar.gz | |
path: ig-${{ env.VERSION }}-${{ matrix.platform }}-${{ matrix.arch }}.tar.gz | |
release: | |
name: GitHub Release | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
permissions: | |
contents: write | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
steps: | |
- name: Get Built Binaries | |
uses: actions/download-artifact@v4 | |
- name: Calculate Checksums | |
run: | | |
mkdir -p ./tarballs | |
cp ig-*/ig-* ./tarballs | |
cd tarballs | |
shasum -a 256 * > ../checksums.txt | |
- name: Publish Draft Release | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
DRAFT_RELEASE_TAG=$(gh api repos/${{ github.repository }}/releases --jq '.[] | select(.draft==true) | .tag_name') | |
gh release edit $DRAFT_RELEASE_TAG --draft=false --latest --tag ${{ github.ref_name }} --title ${{ github.ref_name }} --repo ${{ github.repository }} | |
gh release upload ${{ github.ref_name }} tarballs/* checksums.txt --repo ${{ github.repository }} | |
cargo_publish: | |
name: Publish Package | |
runs-on: ubuntu-latest | |
needs: | |
- release | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Publish | |
run: cargo publish --token ${{ secrets.CARGO_TOKEN }} |