navi/.github/workflows/cd.yml
2021-04-06 09:49:17 -03:00

66 lines
No EOL
2.2 KiB
YAML

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, x86_64-pc-windows-gnu]
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
- os: ubuntu-latest
target: x86_64-pc-windows-gnu
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