diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 70e6eeaea9c09f4fac2f03096b58ed179e31859c..ee2186587352d69f33598e7d678fa0834f389311 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -3,11 +3,12 @@ # separate terms of service, privacy policy, and support # documentation. -name: Create and publish Docker images +name: Create release, publish Docker images and python package on: - release: - types: [published] + push: + tags: + - 'v*' env: REGISTRY: ghcr.io @@ -18,7 +19,7 @@ env: jobs: build-and-push-deps-image: - name: Build and publish dependency Docker image + name: Dependency Docker image runs-on: ubuntu-latest permissions: contents: read @@ -41,7 +42,7 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_DEPS }} - - name: Build and push Docker image for dependencies + - name: Build and push Docker image uses: docker/build-push-action@v3 with: context: . @@ -51,7 +52,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} build-and-push-image: - name: Build and publish OpenDHT Docker image + name: OpenDHT Docker image runs-on: ubuntu-latest permissions: contents: read @@ -85,7 +86,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} build-and-push-deps-image-llvm: - name: Build and publish dependency Docker image (LLVM) + name: Dependency Docker image (LLVM) runs-on: ubuntu-latest permissions: contents: read @@ -108,7 +109,7 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_DEPS }} - - name: Build and push Docker image for dependencies + - name: Build and push Docker image uses: docker/build-push-action@v3 with: context: . @@ -118,7 +119,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} build-and-push-image-llvm: - name: Build and publish OpenDHT Docker image (LLVM) + name: OpenDHT Docker image (LLVM) runs-on: ubuntu-latest permissions: contents: read @@ -150,3 +151,57 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + build-python-wheel: + name: Build Python Wheel package + runs-on: ubuntu-latest + container: ghcr.io/savoirfairelinux/opendht/opendht-deps:latest + + permissions: + contents: read + + steps: + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + draft: true + prerelease: false + + - name: Checkout repository + uses: actions/checkout@v3 + + - name: cmake + run: | + mkdir build && cd build && \ + cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DOPENDHT_STATIC=Off \ + -DOPENDHT_PYTHON=On \ + -DOPENDHT_C=Off \ + -DOPENDHT_PEER_DISCOVERY=On \ + -DOPENDHT_TOOLS=Off \ + -DOPENDHT_PROXY_SERVER=On \ + -DOPENDHT_PROXY_CLIENT=On + + - name: build + run: cd build && make dist + + - uses: actions/upload-artifact@v3 + with: + name: opendht-wheels-linux + path: build/python/dist/*.whl + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: build/python/dist/*.whl + asset_name: opendht-${{ github.ref }}-cp310-cp310-linux_x86_64.whl diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml deleted file mode 100644 index 5a9461496f18b6aab0b53188fd654c09ce5a29ed..0000000000000000000000000000000000000000 --- a/.github/workflows/release-python.yml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: Python Wheel package - -on: - release: - types: [published] - -jobs: - build-and-push-deps-image: - name: Build Python Wheel package - runs-on: ubuntu-latest - container: ghcr.io/savoirfairelinux/opendht/opendht-deps:latest - - permissions: - contents: read - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: cmake - run: | - mkdir build && cd build && \ - cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release \ - -DOPENDHT_STATIC=Off \ - -DOPENDHT_PYTHON=On \ - -DOPENDHT_C=Off \ - -DOPENDHT_PEER_DISCOVERY=On \ - -DOPENDHT_TOOLS=Off \ - -DOPENDHT_PROXY_SERVER=On \ - -DOPENDHT_PROXY_CLIENT=On - - - name: build - run: cd build && make dist - - - uses: actions/upload-artifact@v3 - with: - name: opendht-wheels-linux - path: build/python/dist/*.whl