diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1ec8b9b..c38f1fb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,25 +2,27 @@ name: main on: workflow_dispatch: push: + branches: + - master tags: - "*" jobs: - create_release: - name: Create release - runs-on: ubuntu-latest - outputs: - upload_url: ${{ steps.create_release.outputs.upload_url }} - steps: - - name: Create release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ github.token }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false + # create_release: + # name: Create release + # runs-on: ubuntu-latest + # outputs: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # steps: + # - name: Create release + # id: create_release + # uses: actions/create-release@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # tag_name: ${{ github.ref }} + # release_name: ${{ github.ref }} + # draft: false + # prerelease: false build_linux: name: "linux build" runs-on: ubuntu-latest @@ -32,33 +34,39 @@ jobs: - name: build run: | docker buildx build . --platform linux/amd64,linux/arm64,linux/arm/v7 --output 'type=local,dest=dist' - - name: upload-amd64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: dist/linux_amd64/piper-phonemize_amd64.tar.gz - asset_name: piper-phonemize_linux_x86_64.tar.gz - asset_content_type: application/octet-stream - - name: upload-arm64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: dist/linux_arm64/piper-phonemize_arm64.tar.gz - asset_name: piper-phonemize_linux_aarch64.tar.gz - asset_content_type: application/octet-stream - - name: upload-armv7 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Upload artifacts + uses: actions/upload-artifact@v4 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: dist/linux_arm_v7/piper-phonemize_armv7.tar.gz - asset_name: piper-phonemize_linux_armv7l.tar.gz - asset_content_type: application/octet-stream + name: ${{ matrix.arch }} + path: . + retention-days: 90 # max retention period + # - name: upload-amd64 + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # upload_url: ${{ needs.create_release.outputs.upload_url }} + # asset_path: dist/linux_amd64/piper-phonemize_amd64.tar.gz + # asset_name: piper-phonemize_linux_x86_64.tar.gz + # asset_content_type: application/octet-stream + # - name: upload-arm64 + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # upload_url: ${{ needs.create_release.outputs.upload_url }} + # asset_path: dist/linux_arm64/piper-phonemize_arm64.tar.gz + # asset_name: piper-phonemize_linux_aarch64.tar.gz + # asset_content_type: application/octet-stream + # - name: upload-armv7 + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # upload_url: ${{ needs.create_release.outputs.upload_url }} + # asset_path: dist/linux_arm_v7/piper-phonemize_armv7.tar.gz + # asset_name: piper-phonemize_linux_armv7l.tar.gz + # asset_content_type: application/octet-stream build_windows: runs-on: windows-latest name: "windows build: ${{ matrix.arch }}" @@ -82,15 +90,21 @@ jobs: run: | cd _install Compress-Archive -LiteralPath piper-phonemize -DestinationPath piper-phonemize_windows_amd64.zip - - name: upload - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Upload artifacts + uses: actions/upload-artifact@v4 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: _install/piper-phonemize_windows_amd64.zip - asset_name: piper-phonemize_windows_amd64.zip - asset_content_type: application/zip + name: ${{ matrix.arch }} + path: . + retention-days: 90 # max retention period + # - name: upload + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # upload_url: ${{ needs.create_release.outputs.upload_url }} + # asset_path: _install/piper-phonemize_windows_amd64.zip + # asset_name: piper-phonemize_windows_amd64.zip + # asset_content_type: application/zip build_macos: runs-on: macos-latest name: "mac build: ${{ matrix.arch }}" @@ -114,12 +128,18 @@ jobs: run: | cd _install && \ tar -czf piper-phonemize_macos_${{ matrix.arch }}.tar.gz piper-phonemize/ - - name: upload - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Upload artifacts + uses: actions/upload-artifact@v4 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: _install/piper-phonemize_macos_${{ matrix.arch }}.tar.gz - asset_name: piper-phonemize_macos_${{ matrix.arch }}.tar.gz - asset_content_type: application/octet-stream + name: ${{ matrix.arch }} + path: . + retention-days: 90 # max retention period + # - name: upload + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ github.token }} + # with: + # upload_url: ${{ needs.create_release.outputs.upload_url }} + # asset_path: _install/piper-phonemize_macos_${{ matrix.arch }}.tar.gz + # asset_name: piper-phonemize_macos_${{ matrix.arch }}.tar.gz + # asset_content_type: application/octet-stream diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml new file mode 100644 index 0000000..e87b0b8 --- /dev/null +++ b/.github/workflows/wheels.yml @@ -0,0 +1,26 @@ +name: Build +on: [push, pull_request] +jobs: + build_wheels: + runs-on: ubuntu-latest + # strategy: + # matrix: + # os: [ubuntu-latest, windows-latest, macos-13, macos-latest] + + steps: + - uses: actions/checkout@v4 + # Used to host cibuildwheel + - uses: actions/setup-python@v5 + - name: Install cibuildwheel + run: python -m pip install cibuildwheel==2.21.3 + - name: yo + run: python -m + - name: Build wheels + run: python -m cibuildwheel --output-dir wheelhouse + # to supply options, put them in 'env', like: + # env: + # CIBW_SOME_OPTION: value + - uses: actions/upload-artifact@v4 + with: + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl