diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 8efd50c..c6a4695 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -35,3 +35,33 @@ jobs: run: cargo fmt --all -- --check - name: Lint run: cargo clippy --all-targets -- --deny warnings + publish-check: + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + - name: Fetch + run: cargo fetch + - name: Publish (dry run) + run: cargo publish --dry-run + publish: + if: ${{ startsWith(github.ref, 'refs/tags/') }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + - name: Fetch + run: cargo fetch + - name: Publish + run: cargo publish + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}