Skip to content

Bump serde_json from 1.0.149 to 1.0.150 #132

Bump serde_json from 1.0.149 to 1.0.150

Bump serde_json from 1.0.149 to 1.0.150 #132

Workflow file for this run

name: "CI"
on:
push:
branches: [ "**" ]
tags-ignore: [ "**" ]
pull_request:
workflow_dispatch:
inputs:
release:
type: boolean
description: Publish Release
concurrency:
cancel-in-progress: true
group: ci-${{ github.event.pull_request.number || github.ref }}
jobs:
check:
name: Run checks
runs-on: ubuntu-latest
permissions:
checks: write
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- name: Run rustfmt
uses: clechasseur/rs-fmt-check@v3
- name: Run clippy
uses: clechasseur/rs-clippy-check@v5
test:
needs: [ "check" ]
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Initialize Rust caching
uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --all-targets
build:
needs: [ "test" ]
permissions: read-all
runs-on: ${{ matrix.platform.os }}
name: Compile ${{ matrix.platform.target }} / ${{ matrix.platform.os }}
strategy:
fail-fast: true
matrix:
platform:
# mac target
- { os: 'macos-latest', target: 'x86_64-apple-darwin', arch: 'x86_64', osn: 'mac' }
- { os: 'macos-latest', target: 'aarch64-apple-darwin', arch: 'aarch64', osn: 'mac' }
# linux target
- { os: 'ubuntu-latest', target: 'x86_64-unknown-linux-musl', arch: 'x86_64', osn: 'linux' }
- { os: 'ubuntu-latest', target: 'aarch64-unknown-linux-musl', arch: 'aarch64', osn: 'linux' }
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.platform.target }}
- name: Initialize Rust caching
uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.platform.target }}
- name: Compile Binary
uses: clechasseur/rs-cargo@v4
with:
tool: cross
command: build
args: --release --target ${{ matrix.platform.target }} --bin easycheck
- name: Move artifacts
run: |
mkdir -p artifact
cp target/${{ matrix.platform.target }}/release/easycheck artifact/easycheck_${{ matrix.platform.osn }}_${{ matrix.platform.arch }}
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
path: artifact/easycheck_${{ matrix.platform.osn }}_${{ matrix.platform.arch }}
name: easycheck_${{ matrix.platform.osn }}_${{ matrix.platform.arch }}
release:
needs: [ "check", "test", "build" ]
name: Publish Release
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.release == 'true' }}
permissions:
contents: write
pull-requests: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check version was bumped
run: |
VERSION=$(grep '^version' Cargo.toml | head -1 | sed 's/.*"\(.*\)".*/\1/')
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "0.0.0")
if [ "$VERSION" = "$LATEST_TAG" ]; then
echo "::error::Cargo.toml version ($VERSION) matches latest tag. Bump the version before releasing."
exit 1
fi
echo "TAG_NAME=$VERSION" >> $GITHUB_ENV
- name: Download artifacts
uses: actions/download-artifact@v8
with:
path: binaries
- name: Generate changelog
id: changelog_generate
uses: mikepenz/release-changelog-builder-action@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
ignorePreReleases: true
toTag: ${{ github.sha }}
configurationJson: '{"max_tags_to_fetch":5,"categories":[],"template":"#{{UNCATEGORIZED}}","pr_template":"- #{{TITLE}} (##{{NUMBER}} by #{{AUTHOR}})"}'
- name: Create Release
uses: softprops/action-gh-release@v3
with:
draft: false
prerelease: false
tag_name: ${{ env.TAG_NAME }}
body: ${{steps.changelog_generate.outputs.changelog}}
fail_on_unmatched_files: true
files: |
binaries/*/*