Merge pull request #1903 from apache/abderrahim/mirror-plugins #24
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
name: Release actions | |
on: | |
push: | |
tags: | |
- '*.*.*' | |
jobs: | |
build_docs: | |
name: "Build documentation tarball" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
# BuildStream requires tags to be able to find its version. | |
with: | |
fetch-depth: 0 | |
- name: Give `testuser` ownership of the source directory | |
run: sudo chown -R 1000:1000 ${GITHUB_WORKSPACE} | |
- name: Build documentation using Docker Compose | |
run: | | |
docker compose \ | |
--env-file ${GITHUB_WORKSPACE}/.github/common.env \ | |
--file ${GITHUB_WORKSPACE}/.github/compose/ci.docker-compose.yml \ | |
run \ | |
docs | |
# Restore permissions to the current user | |
sudo chown -R ${USER} ${GITHUB_WORKSPACE} | |
tar -C doc/build/html -zcf docs.tgz . | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: docs | |
path: docs.tgz | |
build_sdist: | |
name: "Build Python source distribution tarball" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Build sdist | |
run: pipx run build --sdist | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: sdist | |
path: dist/*.tar.gz | |
build_wheels: | |
name: Build Python wheel packages on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Fetch latest BuildBox release | |
run: ${GITHUB_WORKSPACE}/.github/wheel-helpers/fetch-latest-buildbox-release.sh | |
- name: Build wheels | |
run: pipx run cibuildwheel==2.11.3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: ./wheelhouse/*.whl | |
test_wheels: | |
name: "Test Python packages: ${{ matrix.test-name }}" | |
needs: [build_wheels] | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
# The names here should map to a valid service defined in | |
# "../compose/ci.docker-compose.yml" | |
test-name: | |
- wheels-manylinux_2_28-cp37 | |
- wheels-manylinux_2_28-cp38 | |
- wheels-manylinux_2_28-cp39 | |
- wheels-manylinux_2_28-cp310 | |
- wheels-manylinux_2_28-cp311 | |
- wheels-manylinux_2_28-cp312 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheels | |
path: ./wheelhouse | |
- name: Run tests with Docker Compose | |
run: | | |
${GITHUB_WORKSPACE}/.github/run-ci.sh ${{ matrix.test-name }} | |
upload_github_release: | |
name: Upload GitHub release assets | |
needs: [build_docs, build_sdist, build_wheels, test_wheels] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: docs | |
- name: Upload release assets | |
run: | | |
tag_name="${GITHUB_REF##*/}" | |
hub release create -a "docs.tgz" -m "$tag_name" "$tag_name" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
upload_pypi_release: | |
name: Upload PyPI release assets | |
needs: [build_docs, build_sdist, build_wheels, test_wheels] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: sdist | |
path: dist | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheels | |
path: dist | |
- name: Upload to PyPI | |
run: | | |
pipx run twine upload --repository pypi --username __token__ --password "${{ secrets.PYPI_TOKEN }}" dist/* |