aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..cfa05c2
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,51 @@
+name: Release
+on:
+ push:
+ tags:
+ - v*
+jobs:
+ release:
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ include:
+ - os: ubuntu-latest
+ bin: sentrum
+ name: sentrum-linux-x86_64.tar.gz
+ - os: windows-latest
+ bin: sentrum.exe
+ name: sentrum-windows-x86_64.zip
+ - os: macOS-latest
+ bin: sentrum
+ name: sentrum-darwin-x86_64.tar.gz
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dtolnay/rust-toolchain@master
+ with:
+ toolchain: stable
+ - uses: Swatinem/rust-cache@v2
+ - run: cargo build --release
+ - name: Package
+ shell: bash
+ run: |
+ strip target/release/${{ matrix.bin }}
+ cd target/release
+ if [[ "${{ matrix.os }}" == "windows-latest" ]]
+ then
+ 7z a ../../${{ matrix.name }} ${{ matrix.bin }}
+ else
+ tar czvf ../../${{ matrix.name }} ${{ matrix.bin }}
+ fi
+ cd -
+ - name: Publish
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ draft: true
+ files: |
+ sentrum-*
+ sentrum.sample.toml
+ contrib/sentrum.service
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}