Skip to content

Commit 3d57139

Browse files
committed
Setup CI pipeline
1 parent 45a03a3 commit 3d57139

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

.github/workflows/ci.yml

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Continuous Integration
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*" # Version tagged pushes
7+
branches:
8+
- main
9+
pull_request:
10+
branches:
11+
- main
12+
13+
jobs:
14+
clippy:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v1
19+
20+
- uses: actions-rs/toolchain@v1
21+
with:
22+
toolchain: stable
23+
24+
- uses: Swatinem/rust-cache@v1
25+
26+
- name: Are you happy Clippy?
27+
run: cargo clippy
28+
29+
test:
30+
runs-on: ubuntu-latest
31+
32+
steps:
33+
- name: Checkout
34+
uses: actions/checkout@v1
35+
36+
- uses: actions-rs/toolchain@v1
37+
with:
38+
toolchain: stable
39+
40+
- uses: Swatinem/rust-cache@v1
41+
42+
- name: Running tests
43+
run: cargo test
44+
45+
release:
46+
name: Create Release
47+
runs-on: ubuntu-latest
48+
needs: [clippy, test]
49+
if: startsWith(github.ref, 'refs/tags/v')
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v1
53+
54+
- uses: actions-rs/toolchain@v1
55+
with:
56+
toolchain: stable
57+
58+
- uses: Swatinem/rust-cache@v1
59+
60+
- name: Build
61+
run: cargo build --release
62+
63+
- name: Display checksum
64+
run: shasum -a 256 target/release/notion-generator
65+
66+
- name: Create Release
67+
uses: softprops/action-gh-release@v1
68+
with:
69+
files: target/release/notion-generator
70+
generate_release_notes: true

0 commit comments

Comments
 (0)