ffsend 0.2.21

Easily and securely share files from the command line. A fully featured Firefox Send client.
# AppVeyor CI configuration for building Windows binaries for ffsend.
# These Windows binaries are published on GitHub as release files.
#
# The main CI runs on GitLab CI at: https://gitlab.com/timvisee/ffsend/pipelines

# Only build version tags
skip_non_tags: true
branches:
  only:
    - /v\d*\.\d*\.\d*/

# Build for the x86_64 Windows target
platform: x64
environment:
  SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem"
  RUSTUP_USE_HYPER: 1
  CARGO_HTTP_CHECK_REVOKE: false
  GITHUB_TOKEN:
    secure: jqZ4q5oOthKX/pBL1tRsBJsfGPIee3q+N/UBSCZNjCrlFUNfQSfibBPzzICYg1he

  matrix:
    - TARGET: x86_64-pc-windows-msvc
      BITS: 64
      OPENSSL_VERSION: 1_1_0j
      OPENSSL_DIR: C:\OpenSSL

# Extract release binary artifacts
artifacts:
- path: .\ffsend*.exe

# Install dependencies: Rust and OpenSSL
install:
  # Install OpenSSL
  - mkdir C:\OpenSSL
  - ps: if (Test-Path env:OPENSSL_VERSION) { Start-FileDownload "http://slproweb.com/download/Win${env:BITS}OpenSSL-${env:OPENSSL_VERSION}.exe" }
  - if defined OPENSSL_VERSION Win%BITS%OpenSSL-%OPENSSL_VERSION%.exe /SILENT /VERYSILENT /SP- /DIR="C:\OpenSSL"
  - appveyor DownloadFile https://curl.haxx.se/ca/cacert.pem -FileName C:\OpenSSL\cacert.pem

  # Install Rust
  - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
  - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain stable
  - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
  - rustc -V
  - cargo -V
  - git submodule update --init

# Build dynamic and static Windows binaries, release on GitHub
build_script:
  # Build dynamic release binary
  - cargo build --release --features no-color --verbose
  - copy .\target\release\ffsend.exe .\ffsend-%TARGET%.exe

  # Build static release binary
  - set RUSTFLAGS=-Ctarget-feature=+crt-static
  - cargo build --release --features no-color --verbose
  - copy .\target\release\ffsend.exe .\ffsend-%TARGET%-static.exe

  # Install github-release
  - appveyor DownloadFile https://github.com/tfausak/github-release/releases/download/1.2.4/github-release-windows.zip -FileName github-release.zip
  - 7z e github-release.zip

  # Create the release, upload the binaries
  - .\github-release.exe release --token %GITHUB_TOKEN% --owner timvisee --repo ffsend --tag %APPVEYOR_REPO_TAG_NAME% --title "ffsend %APPVEYOR_REPO_TAG_NAME%"
  - .\github-release.exe upload --token %GITHUB_TOKEN% --owner timvisee --repo ffsend --tag %APPVEYOR_REPO_TAG_NAME% --file .\ffsend-%TARGET%.exe --name ffsend-%APPVEYOR_REPO_TAG_NAME%-windows-x64.exe
  - .\github-release.exe upload --token %GITHUB_TOKEN% --owner timvisee --repo ffsend --tag %APPVEYOR_REPO_TAG_NAME% --file .\ffsend-%TARGET%-static.exe --name ffsend-%APPVEYOR_REPO_TAG_NAME%-windows-x64-static.exe

# We don't test anything here
test: false