patch crates #874
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
name: Pre-Release | |
on: [ push ] | |
jobs: | |
lib-release: | |
name: pyroscope-main | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/lib-')" | |
continue-on-error: true | |
steps: | |
- uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "pyroscope-${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
clibuilder-release: | |
name: clibuilder-release | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/clibuilder-')" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: docker/login-action@v2 | |
name: Login to Docker Hub | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- run: docker buildx create --use | |
- run: make -C docker push_cli_builder | |
manylinux-release: | |
name: manylinux-release | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/manylinux-')" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: docker/login-action@v2 | |
name: Login to Docker Hub | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- run: docker buildx create --use | |
- run: make -C docker push_aarch64 push_x86_64 | |
cli-release: | |
name: pyroscope-cli | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/cli-')" | |
outputs: | |
upload_url: ${{ steps.auto-release.outputs.upload_url }} | |
steps: | |
- id: auto-release | |
uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "pyroscope-${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
cli-artifacts: | |
name: pyroscope-cli - build aritifacts | |
needs: cli-release | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: docker/login-action@v2 | |
name: Login to Docker Hub | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- run: DOCKER_EXTRA="--push" make cli/docker-image | |
- run: DOCKER_EXTRA="--output=." make cli/docker-image | |
- name: Upload release archive | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.cli-release.outputs.upload_url }} | |
asset_path: "./pyroscope-cli" | |
asset_name: "pyroscope-cli" | |
asset_content_type: application/octet-stream | |
pprofrs-release: | |
name: pyroscope-pprofrs | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/pprofrs-')" | |
continue-on-error: true | |
steps: | |
- uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "Backend: ${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
rbspy-release: | |
name: pyroscope-rbspy | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/rbspy-')" | |
continue-on-error: true | |
steps: | |
- uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "Backend: ${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
pyspy-release: | |
name: pyroscope-pyspy | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/pyspy-')" | |
continue-on-error: true | |
steps: | |
- uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "Backend: ${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
python-release-linux: | |
needs: [ 'python-release' ] | |
name: Release python linux amd64 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: AutoModality/action-clean@v1 | |
- uses: actions/checkout@v3 | |
- run: make wheel/linux/amd64 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/python/dist/* | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.python-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/python/dist/pyroscope*.whl" | |
python-release-linux-arm: | |
needs: [ 'python-release' ] | |
name: Release python linux arm64 | |
runs-on: [self-hosted, Linux, ARM64] | |
steps: | |
- uses: AutoModality/action-clean@v1 | |
- uses: actions/checkout@v3 | |
- run: make wheel/linux/arm64 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/python/dist/* | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.python-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/python/dist/pyroscope*.whl" | |
python-release-macos: | |
needs: [ 'python-release' ] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- macos-version: "11.0" | |
target: x86_64-apple-darwin | |
py-platform: macosx-11_0_x86_64 | |
mk-arch: amd64 | |
- macos-version: "11.0" | |
target: aarch64-apple-darwin | |
py-platform: macosx-11_0_arm64 | |
mk-arch: arm64 | |
name: macOS - ${{ matrix.py-platform }} | |
runs-on: macos-${{ matrix.macos-version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.76.0 | |
target: ${{ matrix.target }} | |
profile: minimal | |
override: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- run: make pyroscope_ffi/clean wheel/mac/${{ matrix.mk-arch }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/python/dist/* | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.python-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/python/dist/pyroscope*.whl" | |
python-release-sdist: | |
needs: [ 'python-release' ] | |
name: sdist | |
runs-on: ubuntu-latest | |
steps: | |
- uses: AutoModality/action-clean@v1 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Upgrade pip | |
run: | | |
python -m pip install --upgrade pip pipenv wheel | |
- name: Build sdist | |
run: python setup.py sdist | |
working-directory: pyroscope_ffi/python | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/python/dist/* | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.python-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/python/dist/pyroscope-io-*.tar.gz" | |
python-release: | |
name: Python Package | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/python-')" | |
continue-on-error: true | |
outputs: | |
upload_url: ${{ steps.auto-release.outputs.upload_url }} | |
steps: | |
- id: auto-release | |
uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "Python Package: ${{ github.ref_name }}" | |
draft: true | |
prerelease: false | |
ruby-release-linux: | |
needs: [ 'ruby-release' ] | |
name: Release Linux gem amd64 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: AutoModality/action-clean@v1 | |
- uses: actions/checkout@v3 | |
- run: make gem/linux/amd64 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/ruby/pkg/*.gem | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.ruby-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/ruby/pkg/*.gem" | |
ruby-release-linux-arm: | |
needs: [ 'ruby-release' ] | |
name: Release Linux gem arm64 | |
runs-on: [ self-hosted, Linux, ARM64 ] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: make gem/linux/arm64 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/ruby/pkg/*.gem | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.ruby-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/ruby/pkg/*.gem" | |
ruby-release-macos: | |
needs: [ 'ruby-release' ] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- macos-version: "11.0" | |
target: x86_64-apple-darwin | |
mk-arch: amd64 | |
- macos-version: "11.0" | |
target: aarch64-apple-darwin | |
mk-arch: arm64 | |
name: macOS - ${{ matrix.target }} | |
runs-on: macos-${{ matrix.macos-version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.1' | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.76.0 | |
target: ${{ matrix.target }} | |
profile: minimal | |
override: true | |
- run: make pyroscope_ffi/clean gem/mac/${{ matrix.mk-arch }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/ruby/pkg/*.gem | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.ruby-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/ruby/pkg/*.gem" | |
ruby-release-source: | |
needs: [ 'ruby-release' ] | |
name: source | |
runs-on: ubuntu-latest | |
steps: | |
- uses: AutoModality/action-clean@v1 | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.1' | |
- name: Install bundles | |
run: bundle | |
working-directory: pyroscope_ffi/ruby | |
- name: Build source gem | |
run: rake source:gem | |
working-directory: pyroscope_ffi/ruby | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
path: pyroscope_ffi/ruby/pkg/*.gem | |
- name: Upload release artifact | |
uses: korniltsev/actions-upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.ruby-release.outputs.upload_url }} | |
asset_path: "pyroscope_ffi/ruby/pkg/*.gem" | |
ruby-release: | |
name: Ruby Gem | |
runs-on: ubuntu-latest | |
if: "startsWith(github.ref, 'refs/tags/ruby-')" | |
continue-on-error: true | |
outputs: | |
upload_url: ${{ steps.auto-release.outputs.upload_url }} | |
steps: | |
- id: auto-release | |
uses: "marvinpinto/[email protected]" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.ref_name }}" | |
title: "Ruby Gem: ${{ github.ref_name }}" | |
draft: true | |
prerelease: false |