name: main on: workflow_dispatch: push: branches: - master # push: # 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 build_linux: name: "linux build" runs-on: ubuntu-latest # needs: create_release # we need to know the upload URL steps: - uses: actions/checkout@v3 - uses: docker/setup-qemu-action@v2 - uses: docker/setup-buildx-action@v2 - name: build run: | docker buildx build . --platform linux/arm64 --output 'type=local,dest=dist' # - name: package # run: | # cd _install && \ # tar -czf piper_linux_${{ matrix.arch }}.tar.gz piper/ # - 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_linux_${{ matrix.arch }}.tar.gz # asset_name: piper_linux_${{ matrix.arch }}.tar.gz # asset_content_type: application/octet-stream # build_windows: # runs-on: windows-latest # name: "windows build: ${{ matrix.arch }}" # needs: create_release # we need to know the upload URL # strategy: # fail-fast: true # matrix: # arch: [x64] # steps: # - uses: actions/checkout@v3 # - name: configure # run: | # cmake -Bbuild -DCMAKE_INSTALL_PREFIX=_install/piper # - name: build # run: | # cmake --build build --config Release # - name: install # run: | # cmake --install build # - name: package # run: | # cd _install # Compress-Archive -LiteralPath piper -DestinationPath piper_windows_amd64.zip # - 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_windows_amd64.zip # asset_name: piper_windows_amd64.zip # asset_content_type: application/zip # build_macos: # name: "macos build: ${{ matrix.arch }}" # runs-on: macos-latest # needs: create_release # we need to know the upload URL # strategy: # fail-fast: true # matrix: # arch: [x64, aarch64] # steps: # - uses: actions/checkout@v3 # - name: configure # run: | # cmake -Bbuild -DCMAKE_INSTALL_PREFIX=_install/piper # - name: build # run: | # cmake --build build --config Release # - name: install # run: | # cmake --install build # - name: package # run: | # cd _install && \ # tar -czf piper_macos_${{ matrix.arch }}.tar.gz piper/ # - 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_macos_${{ matrix.arch }}.tar.gz # asset_name: piper_macos_${{ matrix.arch }}.tar.gz # asset_content_type: application/octet-stream