aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/release.yml
blob: cbc393827d7f45545b6145c168513a55c0de4534 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
name: Release
on:
  push:
    tags:
      - 'v*.*.*'
  workflow_dispatch:

jobs:
  build-release:
    name: build-release
    runs-on: ubuntu-latest
    env:
      RUST_BACKTRACE: 1
    steps:
      - name: Checkout repository
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4
        with:
          fetch-tags: false  # https://github.com/actions/checkout/issues/1467

      - run: git fetch --tags --all --force && git pull origin ${{ github.ref }}  --unshallow --force
        name: Fetch tags manually as a workaround. See https://github.com/actions/checkout/issues/1467

      - name: Install Rust
        uses: dtolnay/rust-toolchain@4f647fc679bcd3b11499ccb42104547c83dabe96  # stable
        with:
          profile: minimal
          override: true
          toolchain: '1.86.0'
          target: wasm32-wasip1

      - name: Build release binary
        run: cargo build --release

      - name: Generate a changelog
        uses: orhun/git-cliff-action@4a4a951bc43fafe41cd2348d181853f52356bee7  # v3
        id: git-cliff
        with:
          config: cliff.toml
          args: -vv --latest --strip header
        env:
          OUTPUT: CHANGES.md

      - name: Create release
        uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          draft: true
          body: ${{ steps.git-cliff.outputs.content }}
          prerelease: false
          files: |
            ./target/wasm32-wasip1/release/zjstatus.wasm
            ./target/wasm32-wasip1/release/zjframes.wasm