mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2025-12-06 14:36:50 +00:00
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
name: Release
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
|
|
jobs:
|
|
set-package-matrix:
|
|
# This action returns all sub-packages to be published.
|
|
# It thens exports the variable to matrix, so that the deployment job is run individually for each sub-package
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
packages: ${{ steps.packages.outputs.packages }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- id: packages
|
|
run: |
|
|
FOLDERS_JSON=$(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" | cut -c 3- | jq -R -s -c 'split("\n")[:-1]')
|
|
echo "packages=$FOLDERS_JSON" >> "$GITHUB_OUTPUT"
|
|
deployment:
|
|
#if: github.event.pull_request.merged == true
|
|
needs: set-package-matrix
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
package-name: [thousandeyes-sdk-administrative, thousandeyes-sdk-instant-tests, thousandeyes-sdk-usage, thousandeyes-sdk-core]
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
id-token: write
|
|
environment:
|
|
name: test
|
|
url: https://test.pypi.org/p/${{ matrix.package-name }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: main
|
|
python-version: '3.11'
|
|
token: ${{ secrets.TEST_PAT }}
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
cache: pip
|
|
python-version: '3.11'
|
|
cache-dependency-path: '**/pyproject.toml'
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install setuptools wheel build
|
|
- name: Build
|
|
run: |
|
|
echo "$GITHUB_REF_NAME" >> ${{ matrix.package-name }}/.version
|
|
|
|
ls ${{ matrix.package-name }}/
|
|
cp LICENSE NOTICE ${{ matrix.package-name }}/
|
|
python -m build ${{ matrix.package-name }} --outdir dist/
|
|
- name: Publish
|
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
with:
|
|
repository-url: https://test.pypi.org/legacy/
|
|
skip-existing: true
|