Skip to content

Publish

Publish #13

Workflow file for this run

name: Publish
on:
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
publish:
name: Publish
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Rust
uses: esp-rs/[email protected]
with:
default: true
buildtargets: esp32s3
ldproxy: true
- name: Install espflash
run: sudo apt install libudev-dev && cargo install cargo-espflash
- name: Enable caching
uses: Swatinem/rust-cache@v2
with:
cache-all-crates: true
- name: Build
run: cargo build --release
- name: Trim binary
run: cargo espflash save-image --chip esp32s3 -s 4mb --partition-table partitions.csv target/xtensa-esp32s3-espidf/release/esp-pulser
- name: Get version from Cargo.toml
id: get_version
run: echo "VERSION=$(grep '^version =' Cargo.toml | sed -E 's/version = \"([^\"]+)\"/\1/')" >> $GITHUB_ENV
- name: Create Draft Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ env.VERSION }}
release_name: v${{ env.VERSION }}
draft: true
prerelease: false
- uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: target/xtensa-esp32s3-espidf/release/esp-pulser
asset_name: esp-pulser
asset_content_type: application/x-dosexec
- uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.create_release.outputs.id }}