name: release on: push: tags: - "*" jobs: release: runs-on: ubuntu-20.04 outputs: upload_url: ${{ steps.create_release.outputs.upload_url }} 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 build: runs-on: ubuntu-20.04 needs: release strategy: matrix: target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x] steps: - uses: actions/checkout@v2 - name: Install packages run: | sudo apt-get update sudo apt-get install -y autoconf automake build-essential cmake curl file libtool - name: Cross build (${{ matrix.target }}) env: BUILD_TARGET: ${{ matrix.target }} run: ./scripts/cross-build.sh - name: Upload assets id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.release.outputs.upload_url }} asset_path: build/ttyd asset_name: ttyd.${{ matrix.target }} asset_content_type: application/octet-stream win10: runs-on: windows-latest needs: release steps: - uses: actions/checkout@v2 - uses: msys2/setup-msys2@v2 with: msystem: MINGW64 install: >- base-devel subversion mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-zlib mingw64/mingw-w64-x86_64-libuv mingw64/mingw-w64-x86_64-mbedtls mingw64/mingw-w64-x86_64-json-c update: true - name: Build ttyd shell: msys2 {0} run: ./scripts/mingw-build.sh - name: Upload assets id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.release.outputs.upload_url }} asset_path: build/ttyd.exe asset_name: ttyd.win10.exe asset_content_type: application/octet-stream