name: Publish on: push: tags: - '*' jobs: binary: name: Publish ${{ matrix.target }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: # This should work with only the `include`s but it currently doesn't because of this bug: # https://github.community/t5/How-to-use-Git-and-GitHub/GitHub-Actions-Matrix-options-dont-work-as-documented/td-p/29558 target: - x86_64-apple-darwin - x86_64-unknown-linux-musl - x86_64-pc-windows-gnu - armv7-unknown-linux-musleabihf - armv7-linux-androideabi - aarch64-linux-android - aarch64-unknown-linux-gnu - aarch64-apple-ios include: - os: macos-latest target: x86_64-apple-darwin - os: ubuntu-latest target: x86_64-unknown-linux-musl - os: ubuntu-latest target: x86_64-pc-windows-gnu - os: ubuntu-latest target: armv7-unknown-linux-musleabihf - os: ubuntu-latest target: armv7-linux-androideabi - os: ubuntu-latest target: aarch64-linux-android - os: ubuntu-latest target: aarch64-unknown-linux-gnu - os: macos-latest target: aarch64-apple-ios steps: - uses: hecrj/setup-rust-action@v1.3.4 with: rust-version: stable - uses: actions/checkout@v1 - name: Build id: build run: scripts/dot rust release ${{ matrix.target }} - name: Get the version id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - name: Upload binaries to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: target/tar/navi.${{ steps.build.outputs.EXTENSION }} tag: ${{ github.ref }} asset_name: navi-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}.${{ steps.build.outputs.EXTENSION }}