From 8496c09e8944ade1611e0ddf9830a2843e0fe6e7 Mon Sep 17 00:00:00 2001 From: ikanago Date: Fri, 10 Nov 2023 21:47:00 +0900 Subject: [PATCH] Simplify release process - Remove strip - Remove steps just register variables --- .github/workflows/release.yml | 81 +++++++++++++---------------------- 1 file changed, 29 insertions(+), 52 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 98c83b2..66e2a28 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,9 +1,9 @@ -name: 'Release' +name: "Release" on: push: tags: - - 'v*' + - "v*" jobs: release: @@ -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 }}