name: Publish on: push: tags: - '*' jobs: alfred: name: Publish Alfred workflow runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Zip run: scripts/action workflow - name: Get the version id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - name: Upload workflow to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: target/workflow/navi.zip tag: ${{ github.ref }} asset_name: navi-${{ steps.get_version.outputs.VERSION }}.alfredworkflow binary: name: Publish binary for ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: 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-osx, x86_64-unknown-linux-musl, armv7-unknown-linux-musleabihf, armv7-linux-androideabi, aarch64-linux-android] include: - os: macos-latest target: x86_64-osx - os: ubuntu-latest target: x86_64-unknown-linux-musl - os: ubuntu-latest target: armv7-unknown-linux-musleabihf - os: ubuntu-latest target: armv7-linux-androideabi - os: ubuntu-latest target: aarch64-linux-android steps: - uses: hecrj/setup-rust-action@v1.3.4 with: rust-version: stable - uses: actions/checkout@v1 - name: Build run: scripts/action 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.tar.gz tag: ${{ github.ref }} asset_name: navi-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}.tar.gz