summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkshay <nerdy@peppe.rs>2020-07-22 22:03:14 +0530
committerAkshay <nerdy@peppe.rs>2020-07-22 22:03:14 +0530
commitc421750d739f008902822a0254ccdff93556dca6 (patch)
treef612c76fbd945aeccf1c091e929648447c55b864
parent23e85aab0571f9c7214532a18a490ba6b6573f0e (diff)
add action automatically release binaries on tag
-rw-r--r--.github/workflows/main.yml84
1 files changed, 84 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..c8ccbae
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,84 @@
+name: Rust
+
+on:
+ push:
+ tags:
+ - '*'
+
+jobs:
+ rustfmt:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - run: rustup component add rustfmt
+ - run: cargo fmt -- --check
+
+ build-linux:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+ # cache the build assets so they dont recompile every time.
+ - name: Cache Rust dependencies
+ uses: actions/cache@v1.0.1
+ with:
+ path: target
+ key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
+ restore-keys: |
+ ${{ runner.OS }}-build-
+ - name: Install latest rust toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: beta
+ default: true
+ override: true
+ - name: Install system dependencies
+ run: |
+ sudo apt-get update \
+ && sudo apt-get install -y \
+ libdbus-1-dev
+ - name: Build
+ run: cargo build --all --release && strip target/release/dijo
+
+ - name: Upload binaries to release
+ uses: svenstaro/upload-release-action@v1-release
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: target/release/dijo
+ asset_name: dijo-x86_64-linux
+ tag: ${{ github.ref }}
+ overwrite: true
+
+ build-apple:
+ runs-on: macos-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+ - name: Cache Rust dependencies
+ uses: actions/cache@v1.0.1
+ with:
+ path: target
+ key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
+ restore-keys: |
+ ${{ runner.OS }}-build-
+ - name: Install latest rust toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: beta
+ target: x86_64-apple-darwin
+ default: true
+ override: true
+
+ - name: Build for mac
+ run: cargo build --all --release && strip target/release/dijo
+
+ - name: Upload binaries to release
+ uses: svenstaro/upload-release-action@v1-release
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: target/release/dijo
+ asset_name: dijo-x86_64-apple
+ tag: ${{ github.ref }}
+ overwrite: true