diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..b08dd77 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: Release + +on: + push: + tags: + - 'v*.*.*' + +jobs: + build: + + strategy: + matrix: + os: [ubuntu-latest, macOS-latest, windows-latest] + rust: [stable] + + runs-on: ${{ matrix.os }} + + steps: + - name: Setup Rust + uses: hecrj/setup-rust-action@v1 + with: + rust-version: ${{ matrix.rust }} + - name: Checkout + uses: actions/checkout@v1 + - name: Setup MUSL + if: matrix.os == 'ubuntu-latest' + run: | + rustup target add x86_64-unknown-linux-musl + sudo apt-get -qq install musl-tools + - name: Build for linux + if: matrix.os == 'ubuntu-latest' + run: make release_lnx + - name: Build for macOS + if: matrix.os == 'macOS-latest' + run: make release_mac + - name: Build for Windows + if: matrix.os == 'windows-latest' + run: make release_win + - name: Release + uses: softprops/action-gh-release@v1 + with: + body: '[Changelog](https://github.com/dalance/svlint/blob/master/CHANGELOG.md)' + files: '*.zip' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}