name: 'Build dev release' on: workflow_dispatch: push: paths: - 'src/emsesp_version.h' branches: - 'dev' permissions: contents: write jobs: pre-release: name: 'Build Dev Release' runs-on: ubuntu-latest steps: - name: Install python 3.13 uses: actions/setup-python@v6 with: python-version: '3.13' - name: Install Node.js 24 uses: actions/setup-node@v6 with: node-version: 24 - name: Checkout repository uses: actions/checkout@v5 - name: Enable Corepack run: corepack enable pnpm - name: Get the EMS-ESP version id: build_info run: | version=`grep -E '^#define EMSESP_APP_VERSION' ./src/emsesp_version.h | awk -F'"' '{print $2}'` echo "VERSION=$version" >> $GITHUB_OUTPUT - name: Install PlatformIO run: | python -m pip install --upgrade pip pip install -U platformio python -m pip install intelhex - name: Build webUI run: | platformio run -e build_webUI - name: Build modbus run: | platformio run -e build_modbus - name: Build standalone run: | platformio run -e build_standalone - name: Build all PIO target environments, from default_envs run: | platformio run - name: Commit the generated files uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: "chore: update generated files" - name: Configure Git run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - name: Check for changes and commit run: | if [ -n "$(git status --porcelain)" ]; then echo "Changes detected, committing..." git add . git commit -m "Auto-commit build artifacts and configuration updates - Updated build configurations - Generated build artifacts - Version: ${{steps.build_info.outputs.VERSION}}" echo "Pushing changes to repository..." git push origin dev else echo "No changes to commit" fi - name: Create GitHub Release id: 'automatic_releases' uses: emsesp/action-automatic-releases@v1.0.0 with: repo_token: '${{ secrets.GITHUB_TOKEN }}' title: Development Build v${{steps.build_info.outputs.VERSION}} automatic_release_tag: 'latest' prerelease: true files: | CHANGELOG_LATEST.md ./build/firmware/*.*