iptmnet 1.10.0

A convenient CLI for the IPTMNet API
Documentation
on:
  workflow_call:
    inputs:
      new_version:
        description: 'The new version to release'
        required: true
        type: string
      new_release_published:
        description: 'Whether a new release was published'
        required: true
        type: string
      new_release_notes:
        description: 'The release notes'
        required: true
        type: string
      new_release_channel:
        description: 'The release channel'
        required: true
        type: string

name: Upload Release Artifacts

env:
  RUST_BACKTRACE: 1

jobs:
    upload_binaries:
        name: Upload Binaries
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            include:
              - target: x86_64-pc-windows-gnu
                archive: zip
                platform: windows_x86_64
              - target: x86_64-unknown-linux-musl
                archive: tar.gz tar.bz2 tar.xz
                platform: linux_x86_64
              - target: x86_64-apple-darwin
                archive: zip
                platform: macos_x86_64
        steps:
          - name: Checkout
            uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
            with:
                fetch-depth: 0
                persist-credentials: false

          - name: Install Rust
            uses: dtolnay/rust-toolchain@stable

          - name: Create the Version Environment Variable
            run: |
              echo 'RELEASE_VERSION="${{inputs.new_version}}"' >> $GITHUB_ENV

          - name: Compile and release
            uses: rust-build/rust-build.action@7d5b0c135ddb825f7692d4d2d75e598184d15cec # v1.4.3
            id: release
            env:
              GITHUB_TOKEN: ${{ secrets.ACTIONS_PAT_GITHUB }}
            with:
              MINIFY: true
              RUSTTARGET: ${{ matrix.target }}
              ARCHIVE_TYPES: ${{ matrix.archive }}
              UPLOAD_MODE: "none"
              ARCHIVE_NAME: iptmnet-${{ env.RELEASE_VERSION }}${{matrix.platform}}
              EXTRA_FILES: "README.md LICENSE"

          - name: Upload Release Artifacts
            uses: softprops/action-gh-release@v1
            id: upload-release-asset
            env:
              GITHUB_TOKEN: ${{ secrets.ACTIONS_PAT_GITHUB }}
            with:
              name: icd-converter${{ env.RELEASE_VERSION }}${{matrix.platform}}
              tag_name: v${{ env.RELEASE_VERSION }}
              body: ${{ inputs.new_release_notes }}
              prerelease: ${{ inputs.new_release_channel == 'alpha' || inputs.new_release_channel == 'beta' }}
              files: |
                ${{ steps.release.outputs.BUILT_ARCHIVE }}
                ${{ steps.release.outputs.BUILT_CHECKSUM }}