Skip to content

Commit

Permalink
Fix release version in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
liuchengxu committed Jul 13, 2024
1 parent 8a3c0dd commit 8d0cfaf
Showing 1 changed file with 61 additions and 73 deletions.
134 changes: 61 additions & 73 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,15 @@
# Create a prerelease, build and upload executables to the prerelease when pushing a tag.
name: Build Executables

on:
push:
tags:
- '*'
- 'v*'

jobs:

release:
name: Create Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Get version
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
# Create release when pushing a tag.
if: startsWith(github.ref, 'refs/tags/')
with:
name: Release ${{ github.ref }}
tag_name: ${{ github.ref }}
# TODO: proper release content, now it's manually updated.
body: Release ${{ steps.get_version.outputs.VERSION }}
draft: true
prerelease: true
permissions:
contents: write

jobs:
publish:
name: Build ${{ matrix.build.target }} on ${{ matrix.build.os }}
runs-on: ${{ matrix.build.os }}
Expand Down Expand Up @@ -73,54 +50,65 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown
components: rust-src, clippy

- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

# The default clang on macOS does not have wasm32 support, install it on our own.
- name: Install LLVM and Clang (macOS)
uses: KyleMayes/install-llvm-action@v2
with:
version: "15.0"
if: ${{ matrix.build.os == 'macos-latest' || matrix.build.os == 'macos-14' }}

- name: Install target
run: |
rustup target add ${{ matrix.build.target }}
- name: Install cross
run: |
cargo install cross --git https://github.com/cross-rs/cross
if: ${{ matrix.build.command == 'cross' }}

- name: Configure cache
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ matrix.build.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Build binary
# - uses: dtolnay/rust-toolchain@stable
# with:
# toolchain: stable
# targets: wasm32-unknown-unknown
# components: rust-src, clippy

# - name: Install Protoc
# uses: arduino/setup-protoc@v3
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}

# # The default clang on macOS does not have wasm32 support, install it on our own.
# - name: Install LLVM and Clang (macOS)
# uses: KyleMayes/install-llvm-action@v2
# with:
# version: "15.0"
# if: ${{ matrix.build.os == 'macos-latest' || matrix.build.os == 'macos-14' }}

# - name: Install target
# run: |
# rustup target add ${{ matrix.build.target }}

# - name: Install cross
# run: |
# cargo install cross --git https://github.com/cross-rs/cross
# if: ${{ matrix.build.command == 'cross' }}

# - name: Configure cache
# uses: actions/cache@v4
# with:
# path: |
# ~/.cargo/bin/
# ~/.cargo/registry/index/
# ~/.cargo/registry/cache/
# ~/.cargo/git/db/
# target/
# key: ${{ runner.os }}-${{ matrix.build.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}

# - name: Build binary
# run: |
# ${{ matrix.build.command }} build --profile production --bin subcoin --locked --target ${{ matrix.build.target }}

- name: Get version without v prefix (Ubuntu/macOS)
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
if: ${{ matrix.build.os != 'windows-latest' }}

- name: Get version without v prefix (Windows)
run: |
${{ matrix.build.command }} build --profile production --bin subcoin --locked --target ${{ matrix.build.target }}
$version = "${{ github.ref_name }}".substring(1)
echo "VERSION=$version" >> $GITHUB_ENV
echo $GITHUB_ENV
if: ${{ matrix.build.os == 'windows-latest' }}

- name: Upload binaries to release
uses: svenstaro/upload-release-action@v1-release
if: startsWith(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: target/${{ matrix.build.target }}/production/${{ matrix.build.artifact_name }}
asset_name: subcoin-${{ github.ref }}-${{ matrix.build.os_prefix }}-${{ matrix.build.target }}
# file: target/${{ matrix.build.target }}/production/${{ matrix.build.artifact_name }}
file: README.md
tag: ${{ github.ref }}
overwrite: true
asset_name: ${{ matrix.build.artifact_name }}-${{ env.VERSION }}-${{ matrix.build.target }}
prerelease: true

0 comments on commit 8d0cfaf

Please sign in to comment.