Maintenance Release, New Website, Improved Performance in Mixed Search Spaces #41
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflows will upload a Python Package using Twine when a release is created | |
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries | |
name: Deploy | |
on: | |
release: | |
types: [created] | |
jobs: | |
tests-and-coverage-latest: | |
name: Tests with latest BoTorch | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
pinned_botorch: false | |
secrets: inherit | |
tests-and-coverage-pinned: | |
name: Tests with pinned BoTorch | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
pinned_botorch: true | |
secrets: inherit | |
check-versions: | |
needs: tests-and-coverage-pinned | |
name: Check if major or minor version changed | |
runs-on: ubuntu-latest | |
outputs: | |
major_minor_changed: ${{ steps.compare.outputs.major_minor_changed }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
ref: ${{ github.sha }} | |
- name: Check if major or minor version changed | |
id: compare | |
run: | | |
git fetch --tags --force | |
previous_version=$(git describe --tags --abbrev=0 ${{ github.event.release.tag_name }}^) | |
prev=$(cut -d '.' -f 1-2 <<< $previous_version) # remove patch number | |
prev=${prev#v} # remove optional "v" prefix | |
next=$(cut -d '.' -f 1-2 <<< ${{ github.event.release.tag_name }}) | |
next=${next#v} | |
echo "Updating from version $previous_version to ${{ github.event.release.tag_name }}" | |
if [[ "$prev" == "$next" ]]; then | |
echo "::warning::Major/Minor version was not changed. Skipping website & docs generation step." | |
else | |
echo major_minor_changed=true >> $GITHUB_OUTPUT | |
fi | |
version-and-publish-website: | |
needs: check-versions | |
name: Version and Publish website | |
if: ${{ needs.check-versions.outputs.major_minor_changed == 'true' }} | |
uses: ./.github/workflows/publish_website.yml | |
with: | |
new_version: ${{ github.event.release.tag_name }} | |
run_tutorials: true | |
permissions: | |
pages: write | |
id-token: write | |
contents: write | |
deploy: | |
needs: tests-and-coverage-pinned # only run if test step succeeds | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install dependencies | |
run: | | |
# use stable Botorch | |
pip install -e ".[dev,mysql,notebook]" | |
pip install --upgrade build setuptools setuptools_scm wheel | |
- name: Fetch all history for all tags and branches | |
run: git fetch --prune --unshallow | |
- name: Build wheel | |
run: | | |
python -m build --sdist --wheel | |
- name: Deploy to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} | |
verbose: true |