autofoam 0.2.3

autofoam and related tools
Documentation
# release actions

permissions:
  pull-requests: write
  contents: write

on:
  push:
    branches:
      - main

jobs:
  release-plz:
    runs-on: ubuntu-latest
    outputs:
      releases_created: ${{ steps.release.outputs.releases_created }}
      releases: ${{ steps.release.outputs.releases }}
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
      - uses: dtolnay/rust-toolchain@stable
      - id: release
        uses: release-plz/action@v0.5
        with:
          command: release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

  build-binaries:
    runs-on: ubuntu-latest
    needs: release-plz
    if: needs.release-plz.outputs.releases_created == 'true'
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
      - run: cargo build --locked --release
      - shell: bash
        run: |
          mkdir -p assets
          BINARIES=(target/release/autofoam-scalar-area-threshold target/release/autofoam-scalar-deviation target/release/autofoam-stl-bbox)
          strip "${BINARIES[@]}"
          LATEST_TAG=$(git describe --tags --abbrev=0)
          RELEASE_NAME=autofoam-${LATEST_TAG}-linux-x86_64
          tar czvf assets/$RELEASE_NAME.tar.gz "${BINARIES[@]}"
          shasum -a 256 assets/$RELEASE_NAME.tar.gz > assets/$RELEASE_NAME.sha256
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - uses: softprops/action-gh-release@v2
        with:
          files: assets/*
          tag_name: ${{ fromJson(needs.release-plz.outputs.releases)[0].tag }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  update-versions:
    runs-on: ubuntu-latest
    needs: release-plz
    if: needs.release-plz.outputs.releases_created == 'true'
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
      - uses: dtolnay/rust-toolchain@stable
      - uses: release-plz/action@v0.5
        with:
          command: release-pr
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}