diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 59ebef0..19a7800 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,6 @@ name: CI -on: - workflow_dispatch: +on: [workflow_dispatch, push, pull_request] jobs: build: @@ -10,6 +9,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-tags: "true" - name: Run Lean Action uses: leanprover/lean-action@v1 with: @@ -17,10 +18,10 @@ jobs: use-mathlib-cache: "false" build: "true" - name: Create package + id: create-package run: | ./create_release.sh - name: Upload artifact uses: actions/upload-artifact@v4.3.4 with: - name: sand - path: release.tar.zst + path: release/sand-*-x86_64-linux.tar.zst diff --git a/create_release.sh b/create_release.sh index 241ccc6..b7c41d7 100755 --- a/create_release.sh +++ b/create_release.sh @@ -5,17 +5,30 @@ if [ ! -f .lake/build/bin/sand ]; then exit 1 fi -mkdir -p release +tag=$(git describe --tags --abbrev=0) +dir="sand-$tag" -cp -f .lake/build/bin/sand release/ -cp -rf resources release/ -cp -f scripts/install.sh release/ -cp -f LICENSE release/ -cp -f README.md release/ +set -x -strip release/sand +mkdir -p "release/$dir" -tar --zstd -cvf release.tar.zst release 2>&1 > /dev/null +cp -f .lake/build/bin/sand release/$dir/ +cp -rf resources release/$dir/ +cp -f scripts/install.sh release/$dir/ +cp -f LICENSE release/$dir/ +cp -f README.md release/$dir/ -echo 'release created at `release`' -echo 'release archive created at `release.tar.zst`' +pushd release/ > /dev/null + +strip $dir/sand + +archive="$dir-x86_64-linux.tar.zst" + +tar --zstd -cvf $archive $dir 2>&1 > /dev/null + +popd > /dev/null + +set +x + +echo "release created at release/$dir" +echo "release archive created at release/$archive"