Skip to content

Commit 8c843c9

Browse files
committed
Add release and build workflows
1 parent 6284bca commit 8c843c9

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-0
lines changed

.github/workflows/build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Build
2+
3+
on: push
4+
5+
env:
6+
CARGO_TERM_COLOR: always
7+
8+
jobs:
9+
build:
10+
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v2
15+
- uses: actions/cache@v2.0.0
16+
with:
17+
# A list of files, directories, and wildcard patterns to cache and restore
18+
path: |
19+
target/release
20+
~/.cargo/registry
21+
~/.cargo/git
22+
# An explicit key for restoring and saving the cache
23+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
24+
- name: Build
25+
run: cargo build --verbose
26+
- name: Run tests
27+
run: cargo test --verbose
28+
29+

.github/workflows/release.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Create Release
2+
3+
on:
4+
push:
5+
# Sequence of patterns matched against refs/tags
6+
tags:
7+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
8+
9+
jobs:
10+
create:
11+
runs-on: ubuntu-18.04
12+
steps:
13+
- name: Create Release
14+
id: create_release
15+
uses: actions/create-release@v1
16+
env:
17+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
with:
19+
tag_name: ${{ github.ref }}
20+
release_name: Release ${{ github.ref }}
21+
body: |
22+
Release ${{ github.ref }}
23+
draft: false
24+
prerelease: false
25+
build-nix:
26+
runs-on: ubuntu-18.04
27+
needs: create
28+
steps:
29+
- name: Checkout code
30+
uses: actions/checkout@v2
31+
- name: Compile Binary
32+
run: cargo build --release
33+
- name: Upload Release Asset
34+
id: upload-release-asset
35+
uses: actions/upload-release-asset@v1
36+
env:
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
with:
39+
upload_url: ${{ steps.create_release.outputs.upload_url }}
40+
asset_path: target/release/scribe
41+
asset_name: scribe-linux
42+
asset_content_type: application/binary
43+
build-osx:
44+
runs-on: macos-10.15
45+
needs: create
46+
steps:
47+
- name: Checkout code
48+
uses: actions/checkout@v2
49+
- name: Create Release
50+
id: create_release
51+
uses: actions/create-release@v1
52+
env:
53+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
54+
with:
55+
tag_name: ${{ github.ref }}
56+
release_name: Release ${{ github.ref }}
57+
body: |
58+
Release ${{ github.ref }}
59+
draft: false
60+
prerelease: false
61+
- name: Compile Binary
62+
run: cargo build --release
63+
- name: Upload Release Asset
64+
id: upload-release-asset
65+
uses: actions/upload-release-asset@v1
66+
env:
67+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
with:
69+
upload_url: ${{ steps.create_release.outputs.upload_url }}
70+
asset_path: target/release/scribe
71+
asset_name: scribe-darwin
72+
asset_content_type: application/binary

0 commit comments

Comments
 (0)