Bump VERSION to 2.17.0rc5. #91
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
# 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 |