Skip to content

ci: bump proc-macro2 from 1.0.81 to 1.0.82 #414

ci: bump proc-macro2 from 1.0.81 to 1.0.82

ci: bump proc-macro2 from 1.0.81 to 1.0.82 #414

Workflow file for this run

on:
push:
tags-ignore:
- "**"
branches:
- main
pull_request:
# ignore gh-pages
name: main
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions-rs/cargo@v1
with:
command: check
cargo-test:
name: Test Cargo Projects
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Generate code coverage
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: codecov.json
fail_ci_if_error: false
gha-test:
name: Test GHA
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./actions/install-cargo-sbom
- name: Run cargo-sbom
run: cargo-sbom
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
publish:
name: Publish
needs: [check, cargo-test, gha-test, fmt, clippy]
if: github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, 'release:')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: katyo/publish-crates@v2
continue-on-error: true
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
args: --no-verify
gh-release:
name: Github Release Upload
needs: [check, cargo-test, gha-test, fmt, clippy]
if: github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, 'release:')
strategy:
matrix:
runs-on: [ubuntu-latest, macos-latest]
target:
[
cargo-sbom,
]
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --bin ${{ matrix.target }}
- name: target triple
id: target-triple
run: |
TARGET_TRIPLE=$(rustc --version --verbose | grep host | awk '{print $2}')
echo ::set-output name=target_triple::$TARGET_TRIPLE
- name: target version
id: target-version
run: |
TARGET_VERSION=$(./target/release/${{ matrix.target }} --version | awk '{print $2}')
echo ::set-output name=target_version::$TARGET_VERSION
- name: target binary
id: target-binary
run: |
TARGET_BINARY=./target/release/${{ matrix.target }}-${{steps.target-triple.outputs.target_triple}}
mv ./target/release/${{ matrix.target }} ${TARGET_BINARY}
echo ::set-output name=target_binary::$TARGET_BINARY
- name: previous tag
id: previous-tag
run: |
PREVIOUS_TAG=$(git tag --list --sort=-version:refname "${{ matrix.target }}-v*" | head -n 1)
echo ::set-output name=previous_tag::$PREVIOUS_TAG
- name: Build Changelog
id: github_release
uses: mikepenz/release-changelog-builder-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
fromTag: ${{ steps.previous-tag.outputs.previous_tag }}
toTag: HEAD
commitMode: true
- uses: ncipollo/release-action@v1
with:
artifacts: ${{steps.target-binary.outputs.target_binary}}
body: |
${{steps.github_release.outputs.changelog}}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
tag: ${{ matrix.target }}-v${{steps.target-version.outputs.target_version}}
name: ${{ matrix.target }} ${{steps.target-version.outputs.target_version}}
- uses: ncipollo/release-action@v1
with:
artifacts: ${{steps.target-binary.outputs.target_binary}}
body: |
${{steps.github_release.outputs.changelog}}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
tag: ${{ matrix.target }}-latest
name: ${{ matrix.target }} latest
replacesArtifacts: true