From fb7dc88ebb67480392d0a1905242a7112d47f6c4 Mon Sep 17 00:00:00 2001 From: Turiiya <34311583+ttytm@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:19:13 +0200 Subject: [PATCH] ci: add nightly release steps --- .github/workflows/release.yml | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff72c0a..a95699a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,18 +62,41 @@ jobs: mv ./target/debian/wthrr*.deb "./${{ matrix.target }}/wthrr.deb" fi mv "./target/release/$binary" "./${{ matrix.target }}/" - [[ $RUNNER_OS == "tag" ]] && version="$GITHUB_REF" || version="$GITHUB_SHA" - echo "ARTIFACT=wthrr-$version-${{ matrix.target }}" >> "$GITHUB_ENV" + echo "ARTIFACT=wthrr-${{ matrix.target }}" >> "$GITHUB_ENV" - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: ${{ env.ARTIFACT }} path: ${{ matrix.target }}/** + - name: Prepare release + if: github.repository_owner == 'ttytm' && github.ref_name == 'main' && github.event_name == 'push' + run: | + if [ "$GITHUB_REF_TYPE" == tag ]; then + echo "TAG=$GITHUB_REF_NAME" >> "$GITHUB_ENV" + else + echo "IS_PRERELEASE=true" >> "$GITHUB_ENV" + echo "TAG=nightly" >> "$GITHUB_ENV" + echo "BODY="Generated on $(date -u +'%Y-%m-%d %H:%M:%S UTC') from commit $GITHUB_SHA." >> "$GITHUB_ENV" + echo "TITLE=wthrr nightly build" >> "$GITHUB_ENV" + sha="-$GITHUB_SHA" + fi + - name: Update nightly tag + if: env.IS_PRERELEASE + uses: richardsimko/update-tag@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: nightly - name: Release - if: github.ref_name == 'main' && github.ref_type == 'tag' - uses: softprops/action-gh-release@v2 + if: github.repository_owner == 'ttytm' && github.ref_name == 'main' && github.event_name == 'push' + uses: ncipollo/release-action@v1 with: - files: ./artifacts/wthrr* + artifacts: ${{ env.ARTIFACT }}.zip + tag: ${{ env.TAG }} + body: ${{ env.BODY }} + name: ${{ env.TITLE }} + prerelease: ${{ env.IS_PRERELEASE }} + allowUpdates: true - name: Publish on crates.io - if: github.ref_name == 'main' && github.ref_type == 'tag' + if: github.repository_owner == 'ttytm' && github.ref_name == 'main' && github.ref_type == 'tag' run: cargo publish --token ${{ secrets.CRATES_TOKEN }}