name: Release on: push: branches: - main # Run on every commit to main jobs: release: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install zip run: sudo apt-get install -y zip - 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 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - 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 id: create_release uses: ncipollo/release-action@v1 with: tag: ${{ env.RELEASE_TAG }} name: Release ${{ env.RELEASE_TAG }} generate_release_notes: true draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload hoc.kip uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: dist/atmosphere/hoc.kip asset_name: hoc.kip asset_content_type: application/octet-stream env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload dist.zip uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: release/dist.zip asset_name: dist.zip asset_content_type: application/zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}