Skip to content

patch crates

patch crates #874

Workflow file for this run

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