name: Build and Release on: push: branches: - main jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: 20 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Build Release run: cargo build --release - name: Get Version id: get_version run: | VERSION=$(grep '^version' Cargo.toml | head -1 | cut -d '"' -f 2) echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Prepare Binary run: | cp target/release/ember-tune ember-tune-linux-amd64 sha256sum ember-tune-linux-amd64 > ember-tune-linux-amd64.sha256 - name: Release uses: softprops/action-gh-release@v2 if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/') with: files: | ember-tune-linux-amd64 ember-tune-linux-amd64.sha256 tag_name: v${{ steps.get_version.outputs.VERSION }} name: Release v${{ steps.get_version.outputs.VERSION }} draft: false prerelease: false target_commitish: main generate_release_notes: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}