diff --git a/contrib/make_nightly_build b/contrib/make_nightly_build index 65949c5..95be193 100755 --- a/contrib/make_nightly_build +++ b/contrib/make_nightly_build @@ -6,7 +6,6 @@ for arg in "$@"; do --no-github) NO_GITHUB=1 ;; --no-codeberg) NO_CODEBERG=1 ;; --no-flowcontrol) NO_FLOWCONTROL=1 ;; - --allow-dirty) ALLOW_DIRTY=1 ;; esac done @@ -34,31 +33,22 @@ fi DIFF="$(git diff --stat --patch HEAD)" -if [ -z "$ALLOW_DIRTY" ]; then - if [ -n "$DIFF" ]; then - echo there are outstanding changes: - echo "$DIFF" - exit 1 - fi +if [ -n "$DIFF" ]; then + echo there are outstanding changes: + echo "$DIFF" + exit 1 +fi - UNPUSHED="$(git log --pretty=oneline '@{u}...')" +UNPUSHED="$(git log --pretty=oneline '@{u}...')" - if [ -n "$UNPUSHED" ]; then - echo there are unpushed commits: - echo "$UNPUSHED" - exit 1 - fi +if [ -n "$UNPUSHED" ]; then + echo there are unpushed commits: + echo "$UNPUSHED" + exit 1 fi # get latest version tag - -if [ -z "$NO_FLOWCONTROL" ]; then - last_nightly_version=$(curl -s https://git.flow-control.dev/api/v1/repos/neurocyte/flow-nightly/releases/latest | jq -r .tag_name) -elif [ -z "$NO_GITHUB" ]; then - last_nightly_version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) -elif [ -z "$NO_CODEBERG" ]; then - last_nightly_version=$(curl -s https://codeberg.org/api/v1/repos/neurocyte/flow-nightly/releases/latest | jq -r .tag_name) -fi +last_nightly_version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) [ -z "$last_nightly_version" ] && { echo "failed to fetch $title latest version" exit 1 @@ -85,13 +75,9 @@ echo building... ./zig build -Dpackage_release --prefix "$DESTDIR/build" -VERSION=$(/bin/cat "$DESTDIR/build/version") - -git archive --format=tar.gz --output="$DESTDIR/flow-$VERSION-source.tar.gz" HEAD -git archive --format=zip --output="$DESTDIR/flow-$VERSION-source.zip" HEAD - cd "$DESTDIR/build" +VERSION=$(/bin/cat version) TARGETS=$(/bin/ls) for target in $TARGETS; do @@ -128,48 +114,43 @@ echo cd .. { - echo "## commits in this build" + echo "$title" "$VERSION" + echo + + echo "commits:" echo git log "${last_nightly_version}..HEAD" --pretty="format:neurocyte/$APPNAME@%h %s" echo echo - echo "## contributors" + echo "contributors to this release:" git shortlog -s -n "${last_nightly_version}..HEAD" | cut -b 8- echo + echo - echo "## downloads" - echo "[flow-control.dev](https://git.flow-control.dev/neurocyte/flow-nightly/releases/tag/$VERSION) (source only)" - echo "[github.com](https://github.com/neurocyte/flow-nightly/releases/tag/$VERSION) (binaries & source)" - echo "[codeberg.org](https://codeberg.org/neurocyte/flow-nightly/releases/tag/$VERSION) (binaries & source)" + echo "also available at:" + echo "[flow-control.dev](https://git.flow-control.dev/neurocyte/flow-nightly/releases/tag/$VERSION)" + echo "[github.com](https://github.com/neurocyte/flow-nightly/releases/tag/$VERSION)" + echo "[codeberg.org](https://codeberg.org/neurocyte/flow-nightly/releases/tag/$VERSION)" } >"$release_notes" cat "$release_notes" -ASSETS="" - if [ -z "$NO_FLOWCONTROL" ]; then - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.tar.gz" - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.tar.gz.sig" - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.tar.gz.sha256" - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.zip" - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.zip.sig" - ASSETS="$ASSETS --asset $DESTDIR/flow-${VERSION}-source.zip.sha256" echo uploading to git.flow-control.dev - tea releases create --login flow-control --repo "$repo" --tag "$VERSION" --title "$title $VERSION" --note-file "$release_notes" \ - $ASSETS + tea releases create --login flow-control --repo "$repo" --tag "$VERSION" --title "$title $VERSION" --note-file "$release_notes" fi if [ -z "$NO_CODEBERG" ]; then + ASSETS="" for a in $DESTDIR/*; do ASSETS="$ASSETS --asset $a" done echo uploading to codeberg.org - tea releases create --login codeberg --repo "$repo" --tag "$VERSION" --title "$title $VERSION" --note-file "$release_notes" \ - $ASSETS + tea releases create --login codeberg --repo "$repo" --tag "$VERSION" --title "$title $VERSION" --note-file "$release_notes" $ASSETS fi if [ -z "$NO_GITHUB" ]; then echo uploading to github.com - gh release create "$VERSION" --repo "$repo" --title "$title $VERSION" --notes-file "$release_notes" $DESTDIR/* + gh release create "$VERSION" --repo "$repo" --notes-file "$release_notes" $DESTDIR/* fi