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 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 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 }}