mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-23 14:08:43 +00:00

* Refactor: Extract new crate binstalk-types * Optimize: Rm field `CrateInfo::other` which also removes dep serde-tuple-vec-map and serde-json from binstalk-types. This also makes `CrateInfo` easier to use, more generic and can be used over any `Serializer`, not just `serde_json::Value`. * Mark all errors in `binstalk-manifests` as non_exhaustive * Reduce size of `CvsParseError` by using `Box<str>` instead of `String` for variant `UnknownSourceType`. * Reduce size of `CratesTomlParseError` to 16 bytes on 64bit platform by boxing variants `TomlWrite` and `CvsParse` as these two fields are significantly larger than other variants. * Unify import style in mod `binstall_crates_v1` * Replace dep binstalk-manifests with binstalk-types in binstalk-downloader to reduce its transitive dependencies and enables binstalk-downloader to be built in parallel to binstak-manifests. * Replace dep binstalk-manifests with binstalk-types in binstalk to reduce transitive dependencies and enables binstalk to be built in parallel to binstalk-manifests. This is benefitial because binstalk-manifests pulls in toml_edit, which could takes up to 15s to be built on M1 (7-9s for codegen). * Add dep binstalk-manifests to crates/bin * Update dependabot and GHA release-pr Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
name: Open a release PR
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
crate:
|
|
description: Crate to release
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- bin
|
|
- binstalk
|
|
- binstalk-manifests
|
|
- binstalk-types
|
|
- binstalk-downloader
|
|
- detect-targets
|
|
- detect-wasi
|
|
- fs-lock
|
|
- normalize-path
|
|
version:
|
|
description: Version to release
|
|
required: true
|
|
type: string
|
|
default: patch
|
|
|
|
jobs:
|
|
make-release-pr:
|
|
permissions:
|
|
id-token: write # Enable OIDC
|
|
pull-requests: write
|
|
contents: write
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: chainguard-dev/actions/setup-gitsign@main
|
|
- name: Install cargo-release
|
|
uses: taiki-e/install-action@v1
|
|
with:
|
|
tool: cargo-release
|
|
|
|
- uses: cargo-bins/release-pr@v2
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
version: ${{ inputs.version }}
|
|
crate-path: crates/${{ inputs.crate }}
|
|
pr-label: release
|
|
pr-release-notes: ${{ inputs.crate == 'bin' }}
|
|
pr-template-file: .github/scripts/release-pr-template.ejs
|