name: Release on: push: branches: - main # Trigger on every commit jobs: release: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y zip gh - name: Create dist zip run: | mkdir -p release zip -r release/dist.zip dist - name: Get latest release tag id: get_latest_tag run: | LATEST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName' || echo "") echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV - name: Determine release tag id: tag run: | if [ -z "${{ env.LATEST_TAG }}" ]; then TAG="v0.1.0" else TAG="${{ env.LATEST_TAG }}" fi echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV - name: Create or update GitHub release run: | if gh release view "$RELEASE_TAG" &>/dev/null; then echo "Release exists, updating notes..." gh release edit "$RELEASE_TAG" --generate-notes else echo "Creating new release..." gh release create "$RELEASE_TAG" --generate-notes fi env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload hoc.kip run: | gh release upload "$RELEASE_TAG" dist/atmosphere/hoc.kip --clobber env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload dist.zip run: | gh release upload "$RELEASE_TAG" release/dist.zip --clobber env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}