Skip to content

Commit

Permalink
Simplify release process
Browse files Browse the repository at this point in the history
- Remove strip
- Remove steps just register variables
  • Loading branch information
ikanago committed Nov 10, 2023
1 parent c74b34a commit 8496c09
Showing 1 changed file with 29 additions and 52 deletions.
81 changes: 29 additions & 52 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: 'Release'
name: "Release"

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

jobs:
release:
Expand All @@ -14,80 +14,57 @@ jobs:
fail-fast: false
matrix:
job:
- { target: x86_64-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: x86_64-apple-darwin, os: macos-latest }
- { target: x86_64-pc-windows-msvc, os: windows-2019 }
- {
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
binary-extension: "",
package-extension: ".tar.gz",
}
- {
target: x86_64-apple-darwin,
os: macos-latest,
binary-extension: "",
package-extension: ".tar.gz",
}
- {
target: x86_64-pc-windows-msvc,
os: windows-latest,
binary-extension: ".exe",
package-extension: ".zip",
}

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1

- uses: actions-rs/toolchain@v1
with:
profile: minimal
override: true
toolchain: stable
target: ${{ matrix.job.target }}

- name: Get the release version from the tag
shell: bash
id: project_version
run: |
echo "PROJECT_VERSION=${GITHUB_REF#refs/tags/v}" >> "$GITHUB_OUTPUT"
- name: Build release
run: cargo build --locked --verbose --release --target=${{ matrix.job.target }}

- name: Set up path
shell: bash
id: set_bin_path
run: |
EXE_SUFFIX=""
[ "${{ matrix.job.target }}" = "x86_64-pc-windows-msvc" ] && EXE_SUFFIX=".exe"
BIN_PATH="target/${{ matrix.job.target }}/release/omekasy${EXE_SUFFIX}"
echo "BIN_PATH=${BIN_PATH}" >> "$GITHUB_OUTPUT"
- name: Strip binary
shell: bash
run: |
STRIP="strip"
[ "${{ matrix.job.target }}" = "x86_64-pc-windows-msvc" ] && STRIP=""
if [ -n "${STRIP}" ]; then
"${STRIP}" "${{ steps.set_bin_path.outputs.BIN_PATH }}"
fi
- name: Create tarball
shell: bash
id: create_tarball
run: |
PKG_SUFFIX=".tar.gz" ; case "${{ matrix.job.target }}" in *-pc-windows-*) PKG_SUFFIX=".zip" ;; esac;
PKG_BASENAME="${PROJECT_NAME}-v${{ steps.project_version.outputs.PROJECT_VERSION }}-${{ matrix.job.target }}"
PKG_PATH="${PKG_BASENAME}${PKG_SUFFIX}"
echo "PKG_PATH=${PKG_PATH}" >> "${GITHUB_OUTPUT}"
PKG_DIR="archive"
mkdir -p "${PKG_DIR}"
cp {README.md,LICENSE} "$PKG_DIR"
cp "${{ steps.set_bin_path.outputs.BIN_PATH }}" "${PKG_DIR}"
cp {README.md,LICENSE} "${PKG_DIR}"
cp "target/${{ matrix.job.target }}/release/omekasy${{ matrix.job.binary-extension }}" "${PKG_DIR}"
PROJECT_VERSION=${GITHUB_REF#refs/tags/v}
TARBALL_PATH="${PROJECT_NAME}-v${PROJECT_VERSION}-${{ matrix.job.target }}${{ matrix.job.package-extension }}"
echo "TARBALL_PATH=${TARBALL_PATH}" >> "${GITHUB_OUTPUT}"
if [ "${{ matrix.job.os }}" = "windows-2019" ]; then
7z a "${PKG_PATH}" "${PKG_DIR}"
7z a "${TARBALL_PATH}" "${PKG_DIR}"
else
tar czf "${PKG_PATH}" "${PKG_DIR}"
fi
if [ "$(command -v sha256sum)" ]; then
sha256sum "${PKG_PATH}"
tar czf "${TARBALL_PATH}" "${PKG_DIR}"
fi
- name: Publish
if: ${{ contains(github.ref, '/tags/') }}
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.create_tarball.outputs.PKG_PATH }}
files: ${{ steps.create_tarball.outputs.TARBALL_PATH }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down

0 comments on commit 8496c09

Please sign in to comment.