Skip to content

Commit 171c475

Browse files
committed
add github release
1 parent 0963397 commit 171c475

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

.github/workflows/ci-release.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Continuous integration and automatic Windows release for regdumpy
2+
3+
name: CI and Release
4+
5+
on:
6+
push:
7+
branches: [ "main" ]
8+
workflow_dispatch:
9+
10+
jobs:
11+
test:
12+
name: Build and Test (Ubuntu)
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Install Rust
19+
uses: actions-rs/toolchain@v1
20+
with:
21+
toolchain: stable
22+
profile: minimal
23+
override: true
24+
25+
- uses: Swatinem/rust-cache@v2
26+
27+
- name: Build & test
28+
run: cargo test --all --verbose
29+
30+
release:
31+
name: Build Windows Release & Publish
32+
runs-on: windows-latest
33+
needs: test
34+
permissions:
35+
contents: write
36+
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- name: Install Rust
41+
uses: actions-rs/toolchain@v1
42+
with:
43+
toolchain: stable
44+
profile: minimal
45+
override: true
46+
47+
- uses: Swatinem/rust-cache@v2
48+
49+
- name: Build release binary (MSVC)
50+
run: cargo build --release --locked
51+
52+
- name: Set timestamp tag
53+
id: set_tag
54+
shell: pwsh
55+
run: |
56+
$tag = (Get-Date -Date (Get-Date).ToUniversalTime() -Format "yyyy-MM-dd-HH-mm-ss")
57+
echo "tag=$tag" >> $env:GITHUB_OUTPUT
58+
59+
- name: Create GitHub Release
60+
uses: softprops/action-gh-release@v2
61+
with:
62+
tag_name: ${{ steps.set_tag.outputs.tag }}
63+
name: ${{ steps.set_tag.outputs.tag }}
64+
files: target/release/regdumpy.exe
65+
draft: false
66+
prerelease: false
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# GitHub build and automatic release
2+
3+
- For the rust console application in this repository please add a github workflow that will build and test the application.
4+
- If everything builds and tests fine, please auto-generate a release on github that is named after the current date and time.
5+
- Make a release build for windows available.
6+

0 commit comments

Comments
 (0)