# Travis CI configuration for building macOS binaries for ffsend. # These macOS binaries are published on GitHub as release files. # # The main CI runs on GitLab CI at: https://gitlab.com/timvisee/ffsend/pipelines language: rust # Only build release jobs stages: - name: release if: tag =~ ^v(\d+\.)*\d+$ # Explicitly install and update OpenSSL dependencies addons: homebrew: packages: - openssl@1.1 update: true jobs: include: - stage: release rust: stable os: osx env: RUST_TARGET=x86_64-apple-darwin cache: cargo script: # Create release binary for macOS - echo "Creating release binary for $RUST_TARGET..." - cargo build --target=$RUST_TARGET --release --verbose --all - cp target/$RUST_TARGET/release/ffsend ./ffsend # Download github-release binary - wget https://github.com/tfausak/github-release/releases/download/1.2.4/github-release-osx.gz -O github-release.gz - gunzip github-release.gz - chmod a+x ./github-release # Create the release, upload binary - ./github-release release --token "$GITHUB_TOKEN" --owner timvisee --repo ffsend --tag "$TRAVIS_TAG" --title "ffsend $TRAVIS_TAG" - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo ffsend --tag "$TRAVIS_TAG" --file ./ffsend --name ffsend-$TRAVIS_TAG-macos # TODO: disabled for now to throttle updates, manually enable on major release # # Update homebrew package # - git config --global user.name "timvisee" # - git config --global user.email "$GIT_EMAIL" # - git config --global credential.helper store # - echo "https://timvisee:$HOMEBREW_GITHUB_API_TOKEN@github.com" >> ~/.git-credentials # - brew bump-formula-pr --url="https://github.com/timvisee/ffsend/archive/$TRAVIS_TAG.tar.gz" --message="Automated release pull request using continuous integration." --no-browse -f -v ffsend