Skip to content

Bump VERSION to 2.17.0rc5. #91

Bump VERSION to 2.17.0rc5.

Bump VERSION to 2.17.0rc5. #91

Workflow file for this run

# GENERATED, DO NOT EDIT!
# To change, edit `build-support/bin/generate_github_workflows.py` and run:
# ./pants run build-support/bin/generate_github_workflows.py
jobs:
build_wheels_linux_arm64:
container:
image: ghcr.io/pantsbuild/wheel_build_aarch64:v3-8384c5cf
env:
PANTS_REMOTE_CACHE_READ: 'false'
PANTS_REMOTE_CACHE_WRITE: 'false'
if: github.repository_owner == 'pantsbuild'
name: Build wheels (Linux-ARM64)
needs:
- determine_ref
runs-on:
- self-hosted
- Linux
- ARM64
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 10
ref: ${{ needs.determine_ref.outputs.build-ref }}
- name: Configure Git
run: git config --global safe.directory "$GITHUB_WORKSPACE"
- name: Install rustup
run: 'curl --proto ''=https'' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s --
-v -y --default-toolchain none
echo "${HOME}/.cargo/bin" >> $GITHUB_PATH
'
- name: Expose Pythons
run: 'echo "/opt/python/cp37-cp37m/bin" >> $GITHUB_PATH
echo "/opt/python/cp38-cp38/bin" >> $GITHUB_PATH
echo "/opt/python/cp39-cp39/bin" >> $GITHUB_PATH
'
- env:
PANTS_CONFIG_FILES: +['pants.ci.toml','pants.ci.aarch64.toml']
name: Build wheels
run: 'USE_PY39=true ./build-support/bin/release.sh build-local-pex
USE_PY39=true ./build-support/bin/release.sh build-wheels
./build-support/bin/release.sh build-wheels
USE_PY38=true ./build-support/bin/release.sh build-wheels'
- continue-on-error: true
if: always()
name: Upload pants.log
uses: actions/upload-artifact@v3
with:
name: pants-log-wheels-Linux-ARM64
path: .pants.d/pants.log
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
name: Deploy wheels to S3
run: ./build-support/bin/deploy_to_s3.py
timeout-minutes: 90
build_wheels_linux_x86_64:
container:
image: quay.io/pypa/manylinux2014_x86_64:latest
env:
PANTS_REMOTE_CACHE_READ: 'false'
PANTS_REMOTE_CACHE_WRITE: 'false'
if: github.repository_owner == 'pantsbuild'
name: Build wheels (Linux-x86_64)
needs:
- determine_ref
runs-on:
- ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 10
ref: ${{ needs.determine_ref.outputs.build-ref }}
- name: Configure Git
run: git config --global safe.directory "$GITHUB_WORKSPACE"
- name: Install rustup
run: 'curl --proto ''=https'' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s --
-v -y --default-toolchain none
echo "${HOME}/.cargo/bin" >> $GITHUB_PATH
'
- name: Expose Pythons
run: 'echo "/opt/python/cp37-cp37m/bin" >> $GITHUB_PATH
echo "/opt/python/cp38-cp38/bin" >> $GITHUB_PATH
echo "/opt/python/cp39-cp39/bin" >> $GITHUB_PATH
'
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- env: {}
name: Build wheels
run: 'USE_PY39=true ./build-support/bin/release.sh build-local-pex
USE_PY39=true ./build-support/bin/release.sh build-wheels
./build-support/bin/release.sh build-wheels
USE_PY38=true ./build-support/bin/release.sh build-wheels'
- continue-on-error: true
if: always()
name: Upload pants.log
uses: actions/upload-artifact@v3
with:
name: pants-log-wheels-Linux-x86_64
path: .pants.d/pants.log
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
name: Deploy wheels to S3
run: ./build-support/bin/deploy_to_s3.py
timeout-minutes: 90
build_wheels_macos10_15_x86_64:
env:
PANTS_REMOTE_CACHE_READ: 'false'
PANTS_REMOTE_CACHE_WRITE: 'false'
if: github.repository_owner == 'pantsbuild'
name: Build wheels (macOS10-15-x86_64)
needs:
- determine_ref
runs-on:
- self-hosted
- macOS-10.15-X64
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 10
ref: ${{ needs.determine_ref.outputs.build-ref }}
- name: Cache Rust toolchain
uses: actions/cache@v3
with:
key: macOS10-15-x86_64-rustup-${{ hashFiles('rust-toolchain') }}-v2
path: '~/.rustup/toolchains/1.69.0-*
~/.rustup/update-hashes
~/.rustup/settings.toml
'
- name: Cache Cargo
uses: benjyw/rust-cache@461b9f8eee66b575bce78977bf649b8b7a8d53f1
with:
cache-bin: 'false'
shared-key: engine
workspaces: src/rust/engine
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- env:
ARCHFLAGS: -arch x86_64
name: Build wheels
run: 'USE_PY39=true ./build-support/bin/release.sh build-local-pex
USE_PY39=true ./build-support/bin/release.sh build-wheels
./build-support/bin/release.sh build-wheels
USE_PY38=true ./build-support/bin/release.sh build-wheels'
- continue-on-error: true
if: always()
name: Upload pants.log
uses: actions/upload-artifact@v3
with:
name: pants-log-wheels-macOS10-15-x86_64
path: .pants.d/pants.log
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
name: Deploy wheels to S3
run: ./build-support/bin/deploy_to_s3.py
timeout-minutes: 90
build_wheels_macos11_arm64:
env:
PANTS_REMOTE_CACHE_READ: 'false'
PANTS_REMOTE_CACHE_WRITE: 'false'
if: github.repository_owner == 'pantsbuild'
name: Build wheels (macOS11-ARM64)
needs:
- determine_ref
runs-on:
- self-hosted
- macOS-11-ARM64
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 10
ref: ${{ needs.determine_ref.outputs.build-ref }}
- name: Cache Rust toolchain
uses: actions/cache@v3
with:
key: macOS11-ARM64-rustup-${{ hashFiles('rust-toolchain') }}-v2
path: '~/.rustup/toolchains/1.69.0-*
~/.rustup/update-hashes
~/.rustup/settings.toml
'
- name: Cache Cargo
uses: benjyw/rust-cache@461b9f8eee66b575bce78977bf649b8b7a8d53f1
with:
cache-bin: 'false'
shared-key: engine
workspaces: src/rust/engine
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- env:
ARCHFLAGS: -arch arm64
name: Build wheels
run: 'USE_PY39=true ./build-support/bin/release.sh build-local-pex
USE_PY39=true ./build-support/bin/release.sh build-wheels'
- continue-on-error: true
if: always()
name: Upload pants.log
uses: actions/upload-artifact@v3
with:
name: pants-log-wheels-macOS11-ARM64
path: .pants.d/pants.log
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
name: Deploy wheels to S3
run: ./build-support/bin/deploy_to_s3.py
timeout-minutes: 90
determine_ref:
if: github.repository_owner == 'pantsbuild'
name: Create draft release and output info
outputs:
build-ref: ${{ steps.determine_ref.outputs.build-ref }}
is-release: ${{ steps.determine_ref.outputs.is-release }}
release-asset-upload-url: ${{ steps.make_draft_release.outputs.release-asset-upload-url
}}
runs-on: ubuntu-latest
steps:
- env:
REF: ${{ github.event.inputs.ref }}
id: determine_ref
name: Determine ref to build
run: "if [[ -n \"$REF\" ]]; then\n ref=\"$REF\"\nelse\n ref=\"${GITHUB_REF#refs/tags/}\"\
\nfi\necho \"build-ref=${ref}\" >> $GITHUB_OUTPUT\nif [[ \"${ref}\" =~ ^release_.+$\
\ ]]; then\n echo \"is-release=true\" >> $GITHUB_OUTPUT\nfi\n"
- env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
id: make_draft_release
if: github.repository_owner == 'pantsbuild' && steps.determine_ref.outputs.is-release
== 'true'
name: Make GitHub Release
run: "RELEASE_TAG=${{ steps.determine_ref.outputs.build-ref }}\nRELEASE_VERSION=\"\
${RELEASE_TAG#release_}\"\n\n# NB: This could be a re-run of a release, in\
\ the event a job/step failed.\nif ! gh release view $RELEASE_TAG ; then\n\
\ GH_RELEASE_ARGS=(\"--notes\" \"\")\n GH_RELEASE_ARGS+=(\"--title\"\
\ \"$RELEASE_TAG\")\n if [[ $RELEASE_VERSION =~ [[:alpha:]] ]]; then\n\
\ GH_RELEASE_ARGS+=(\"--prerelease\")\n GH_RELEASE_ARGS+=(\"\
--latest=false\")\n else\n STABLE_RELEASE_TAGS=$(gh api -X GET -F\
\ per_page=100 /repos/{owner}/{repo}/releases --jq '.[].tag_name | sub(\"\
^release_\"; \"\") | select(test(\"^[0-9.]+$\"))')\n LATEST_TAG=$(echo\
\ \"$STABLE_RELEASE_TAGS $RELEASE_TAG\" | tr ' ' '\\n' | sort --version-sort\
\ | tail -n 1)\n if [[ $RELEASE_TAG == $LATEST_TAG ]]; then\n \
\ GH_RELEASE_ARGS+=(\"--latest=true\")\n else\n GH_RELEASE_ARGS+=(\"\
--latest=false\")\n fi\n fi\n\n gh release create \"$RELEASE_TAG\"\
\ \"${GH_RELEASE_ARGS[@]}\" --draft\nfi\n\nASSET_UPLOAD_URL=$(gh release view\
\ \"$RELEASE_TAG\" --json uploadUrl --jq '.uploadUrl | sub(\"\\\\{\\\\?.*$\"\
; \"\")')\necho \"release-asset-upload-url=$ASSET_UPLOAD_URL\" >> $GITHUB_OUTPUT\n"
publish:
if: github.repository_owner == 'pantsbuild' && needs.determine_ref.outputs.is-release
== 'true'
needs:
- build_wheels_linux_x86_64
- build_wheels_linux_arm64
- build_wheels_macos10_15_x86_64
- build_wheels_macos11_arm64
- determine_ref
runs-on: ubuntu-latest
steps:
- name: Checkout Pants at Release Tag
uses: actions/checkout@v3
with:
ref: ${{ needs.determine_ref.outputs.build-ref }}
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Tell Pants to use Python 3.9
run: 'echo "PY=python3.9" >> $GITHUB_ENV
echo "PANTS_PYTHON_INTERPRETER_CONSTRAINTS=[''==3.9.*'']" >> $GITHUB_ENV
'
- name: Expose Pythons
uses: pantsbuild/actions/expose-pythons@627a8ce25d972afa03da1641be9261bbbe0e3ffe
- env:
MODE: debug
USE_PY39: 'true'
name: Fetch and stabilize wheels
run: ./build-support/bin/release.sh fetch-and-stabilize --dest=dest/pypi_release
- name: Create Release -> Commit Mapping
run: 'tag="${{ needs.determine_ref.outputs.build-ref }}"
commit="$(git rev-parse ${tag}^{commit})"
echo "Recording tag ${tag} is of commit ${commit}"
mkdir -p dist/deploy/tags/pantsbuild.pants
echo "${commit}" > "dist/deploy/tags/pantsbuild.pants/${tag}"
'
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dest/pypi_release
password: ${{ secrets.PANTSBUILD_PYPI_API_TOKEN }}
skip-existing: true
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
name: Deploy commit mapping to S3
run: ./build-support/bin/deploy_to_s3.py --scope tags/pantsbuild.pants
- name: Get release notes
run: 'REF="${{ needs.determine_ref.outputs.build-ref }}"
./pants run build-support/bin/get_release_notes.py -- ${REF#"release_"} >
notes.txt
'
- env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
name: Publish GitHub Release
run: 'gh release upload ${{ needs.determine_ref.outputs.build-ref }} dest/pypi_release/*
gh release edit ${{ needs.determine_ref.outputs.build-ref }} --draft=false
--notes-file notes.txt
'
- env:
GH_TOKEN: ${{ secrets.WORKER_PANTS_CHEESESHOP_TRIGGER_PAT }}
name: Trigger cheeseshop build
run: 'gh api -X POST "/repos/pantsbuild/wheels.pantsbuild.org/dispatches" -F
event_type=github-pages
'
name: Release
'on':
push:
tags:
- release_*
workflow_dispatch:
inputs:
ref:
required: true
type: string