Skip to content

Bump reqwest from 0.11.24 to 0.11.25 #199

Bump reqwest from 0.11.24 to 0.11.25

Bump reqwest from 0.11.24 to 0.11.25 #199

Workflow file for this run

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 }}