-
Notifications
You must be signed in to change notification settings - Fork 133
IEP-1616 CI unification #1314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
IEP-1616 CI unification #1314
Changes from 2 commits
84f4b56
405b2a4
ab61881
efe9977
9f21fec
0961eca
b5af544
884baca
03f73b3
83e77ba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,7 +1,4 @@ | ||||||||||||||||||||||
| # This workflow will build a Java project with Maven | ||||||||||||||||||||||
| # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| name: Java CI with Maven | ||||||||||||||||||||||
| name: Java CI with Maven | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| on: | ||||||||||||||||||||||
| push: | ||||||||||||||||||||||
|
|
@@ -10,142 +7,105 @@ on: | |||||||||||||||||||||
| branches: [ master ] | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||
| build: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| runs-on: | ||||||||||||||||||||||
| - self-hosted | ||||||||||||||||||||||
| - eclipse | ||||||||||||||||||||||
| - BrnoUBU0004 | ||||||||||||||||||||||
| build_and_publish_macos: | ||||||||||||||||||||||
| runs-on: macos-latest | ||||||||||||||||||||||
| outputs: | ||||||||||||||||||||||
| version: ${{ steps.extract_version.outputs.VERSION }} | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| steps: | ||||||||||||||||||||||
| - uses: actions/checkout@v2 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Clone IDF Release From Github | ||||||||||||||||||||||
| uses: actions/checkout@v2 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| repository: espressif/esp-idf | ||||||||||||||||||||||
| path: dependencies/idf-tools | ||||||||||||||||||||||
| submodules: 'true' | ||||||||||||||||||||||
| ref: release/v5.4 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up Python | ||||||||||||||||||||||
| uses: actions/setup-python@v2 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| python-version: '3.10' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up Maven | ||||||||||||||||||||||
| uses: stCarolas/setup-maven@v5 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| maven-version: 3.9.6 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up JDK 21 | ||||||||||||||||||||||
| uses: actions/setup-java@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| java-version: '21' | ||||||||||||||||||||||
| distribution: 'temurin' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Build with Maven | ||||||||||||||||||||||
| run: export NO_AT_BRIDGE=1 && mvn clean verify -Djarsigner.skip=true -DskipTests=false -DtestWorkspace=/opt/actions-runner/_work/workspace | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Publish Test Reports | ||||||||||||||||||||||
| if: ${{ always() }} | ||||||||||||||||||||||
| uses: phoenix-actions/test-reporting@v12 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Linux Test Reports | ||||||||||||||||||||||
| path: | ||||||||||||||||||||||
| tests/*/*/*/TEST-*.xml | ||||||||||||||||||||||
| reporter: java-junit | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| build_macos: | ||||||||||||||||||||||
| runs-on: macos-latest | ||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up JDK 21 | ||||||||||||||||||||||
| uses: actions/setup-java@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| java-version: '21' | ||||||||||||||||||||||
| distribution: 'temurin' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Build with Maven | ||||||||||||||||||||||
| run: mvn clean verify -Djarsigner.skip=true | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Extract version number | ||||||||||||||||||||||
| id: extract_version | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
| version=$(ls releng/com.espressif.idf.product/target/products/Espressif-IDE-*.tar.gz | sed -E 's/.*Espressif-IDE-([0-9]+\.[0-9]+\.[0-9]+)-.*/\1/' | head -n 1) | ||||||||||||||||||||||
| echo "VERSION=$version" >> $GITHUB_ENV | ||||||||||||||||||||||
| echo "VERSION=$version" >> $GITHUB_OUTPUT | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload build artifacts | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
| for platform in \ | ||||||||||||||||||||||
| "com.espressif.idf.update-${VERSION}:releng/com.espressif.idf.update/target/repository" \ | ||||||||||||||||||||||
| "Espressif-IDE-${VERSION}-win32:releng/com.espressif.idf.product/target/products/Espressif-IDE-${VERSION}-win32.win32.x86_64.zip" \ | ||||||||||||||||||||||
| "Espressif-IDE-${VERSION}-linux.gtk.x86_64:releng/com.espressif.idf.product/target/products/Espressif-IDE-${VERSION}-linux.gtk.x86_64.tar.gz" \ | ||||||||||||||||||||||
| "Espressif-IDE-${VERSION}-linux.gtk.aarch64:releng/com.espressif.idf.product/target/products/Espressif-IDE-${VERSION}-linux.gtk.aarch64.tar.gz"; do | ||||||||||||||||||||||
| name=${platform%%:*} | ||||||||||||||||||||||
| path=${platform##*:} | ||||||||||||||||||||||
| echo "Uploading $name" | ||||||||||||||||||||||
| gh actions upload-artifact --name "$name" --path "$path" | ||||||||||||||||||||||
| done | ||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Codesign and create DMGs (macOS) | ||||||||||||||||||||||
| env: | ||||||||||||||||||||||
| MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | ||||||||||||||||||||||
| MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
|
Comment on lines
+63
to
+66
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Propagate GITHUB_TOKEN to codesign/upload step The Apply this diff: - name: Codesign and create DMGs (macOS)
env:
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||
| echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 | ||||||||||||||||||||||
| /usr/bin/security create-keychain -p espressif build.keychain | ||||||||||||||||||||||
| /usr/bin/security default-keychain -s build.keychain | ||||||||||||||||||||||
| /usr/bin/security unlock-keychain -p espressif build.keychain | ||||||||||||||||||||||
| /usr/bin/security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign | ||||||||||||||||||||||
| /usr/bin/security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k espressif build.keychain | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| for arch in x86_64 aarch64; do | ||||||||||||||||||||||
| /usr/bin/codesign --entitlements $PWD/releng/com.espressif.idf.product/entitlements/espressif-ide.entitlement \ | ||||||||||||||||||||||
| --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" \ | ||||||||||||||||||||||
| $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/$arch/Espressif-IDE.app -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/$arch/Espressif-IDE.app | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| $PWD/releng/ide-dmg-builder/ide-dmg-builder${arch == "aarch64" && "-aarch64" || ""}.sh | ||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
| /usr/bin/codesign --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" \ | ||||||||||||||||||||||
| $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-$arch.dmg -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-$arch.dmg | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| gh actions upload-artifact --name Espressif-IDE-${VERSION}-macosx.cocoa-$arch --path $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-$arch.dmg | ||||||||||||||||||||||
| done | ||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| build_and_test: | ||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||
| os: [linux, windows] | ||||||||||||||||||||||
| fail-fast: false | ||||||||||||||||||||||
| runs-on: ${{ matrix.os == 'linux' && 'self-hosted, eclipse, BrnoUBU0004' || 'self-hosted, eclipseUpd, BrnoWIN0007' }} | ||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| steps: | ||||||||||||||||||||||
| - uses: actions/checkout@v2 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up JDK 21 | ||||||||||||||||||||||
| uses: actions/setup-java@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| java-version: '21' | ||||||||||||||||||||||
| distribution: 'temurin' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Build with Maven | ||||||||||||||||||||||
| run: mvn clean verify -Djarsigner.skip=true | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Extract version number | ||||||||||||||||||||||
| id: extract_version | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
| # List all files and extract the version number from the file names | ||||||||||||||||||||||
| version=$(ls releng/com.espressif.idf.product/target/products/Espressif-IDE-*.tar.gz | sed -E 's/.*Espressif-IDE-([0-9]+\.[0-9]+\.[0-9]+)-.*/\1/' | head -n 1) | ||||||||||||||||||||||
| echo "VERSION=${version}" >> $GITHUB_ENV | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload build artifacts | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: com.espressif.idf.update-${{ env.VERSION }} | ||||||||||||||||||||||
| path: releng/com.espressif.idf.update/target/repository | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload Windows x86_64 artifact | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Espressif-IDE-${{ env.VERSION }}-win32 | ||||||||||||||||||||||
| path: releng/com.espressif.idf.product/target/products/Espressif-IDE-${{ env.VERSION }}-win32.win32.x86_64.zip | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload Linux x86_64 artifact | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Espressif-IDE-${{ env.VERSION }}-linux.gtk.x86_64 | ||||||||||||||||||||||
| path: releng/com.espressif.idf.product/target/products/Espressif-IDE-${{ env.VERSION }}-linux.gtk.x86_64.tar.gz | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload Linux ARM64 artifact | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Espressif-IDE-${{ env.VERSION }}-linux.gtk.aarch64 | ||||||||||||||||||||||
| path: releng/com.espressif.idf.product/target/products/Espressif-IDE-${{ env.VERSION }}-linux.gtk.aarch64.tar.gz | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Codesign Espressif-IDE | ||||||||||||||||||||||
| env: | ||||||||||||||||||||||
| MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | ||||||||||||||||||||||
| MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
| echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 | ||||||||||||||||||||||
| /usr/bin/security create-keychain -p espressif build.keychain | ||||||||||||||||||||||
| /usr/bin/security default-keychain -s build.keychain | ||||||||||||||||||||||
| /usr/bin/security unlock-keychain -p espressif build.keychain | ||||||||||||||||||||||
| /usr/bin/security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign | ||||||||||||||||||||||
| /usr/bin/security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k espressif build.keychain | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| echo "codesigning espressif-ide-macosx.cocoa.x86_64" | ||||||||||||||||||||||
| /usr/bin/codesign --entitlements $PWD/releng/com.espressif.idf.product/entitlements/espressif-ide.entitlement --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/x86_64/Espressif-IDE.app -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/x86_64/Espressif-IDE.app | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| echo "codesigning espressif-ide-macosx.cocoa.aarch64" | ||||||||||||||||||||||
| /usr/bin/codesign --entitlements $PWD/releng/com.espressif.idf.product/entitlements/espressif-ide.entitlement --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/aarch64/Espressif-IDE.app -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/com.espressif.idf.product/target/products/com.espressif.idf.product/macosx/cocoa/aarch64/Espressif-IDE.app | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| echo "Creating dmg for espressif-ide-macosx.cocoa.x86_64" | ||||||||||||||||||||||
| $PWD/releng/ide-dmg-builder/ide-dmg-builder.sh | ||||||||||||||||||||||
| /usr/bin/codesign --entitlements $PWD/releng/com.espressif.idf.product/entitlements/espressif-ide.entitlement --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-x86_64.dmg -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-x86_64.dmg | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| echo "Creating dmg for espressif-ide-macosx.cocoa.aarch64" | ||||||||||||||||||||||
| $PWD/releng/ide-dmg-builder/ide-dmg-builder-aarch64.sh | ||||||||||||||||||||||
| /usr/bin/codesign --options runtime --force -s "ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD. (QWXF6GB4AV)" $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-aarch64.dmg -v | ||||||||||||||||||||||
| /usr/bin/codesign -v -vvv --deep $PWD/releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-aarch64.dmg | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload espressif-ide-macosx.cocoa.x86_64 dmg | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Espressif-IDE-${{ env.VERSION }}-macosx.cocoa.x86_64 | ||||||||||||||||||||||
| path: releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-x86_64.dmg | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Upload espressif-ide-macosx.cocoa.aarch64 dmg | ||||||||||||||||||||||
| if: ${{ !cancelled() }} | ||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: Espressif-IDE-${{ env.VERSION }}-macosx.cocoa.aarch64 | ||||||||||||||||||||||
| path: releng/ide-dmg-builder/Espressif-IDE-macosx-cocoa-aarch64.dmg | ||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up Python | ||||||||||||||||||||||
| uses: actions/setup-python@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| python-version: '3.11' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
Comment on lines
+134
to
+137
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update setup-python to v5 (actionlint failure) actionlint reports v4 is too old for GitHub Actions’ current runtime. Bump to v5. Apply this diff: - - name: Set up Python
- uses: actions/setup-python@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint (1.7.7)85-85: the runner of "actions/setup-python@v4" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 🤖 Prompt for AI Agents |
||||||||||||||||||||||
| - name: Set up Maven | ||||||||||||||||||||||
| uses: stCarolas/setup-maven@v5 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| maven-version: 3.9.6 | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Set up JDK 21 | ||||||||||||||||||||||
| uses: actions/setup-java@v4 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| java-version: '21' | ||||||||||||||||||||||
| distribution: 'temurin' | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - name: Run Tests | ||||||||||||||||||||||
| run: | | ||||||||||||||||||||||
| export NO_AT_BRIDGE=1 | ||||||||||||||||||||||
| mvn verify -Djarsigner.skip=true -DskipTests=false -DtestWorkspace=${{ matrix.os == 'linux' && '/opt/actions-runner/_work/workspace' || 'C:/actions-runner/_work/workspace' }} | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
| - name: Publish Test Reports | ||||||||||||||||||||||
| if: ${{ always() }} | ||||||||||||||||||||||
| uses: phoenix-actions/test-reporting@v12 | ||||||||||||||||||||||
| with: | ||||||||||||||||||||||
| name: ${{ matrix.os == 'linux' && 'Linux Test Reports' || 'Windows Test Reports' }} | ||||||||||||||||||||||
| path: tests/*/*/*/TEST-*.xml | ||||||||||||||||||||||
| reporter: java-junit | ||||||||||||||||||||||
sigmaaa marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Harden version extraction; current ls/sed is fragile and nondeterministic
Resolve via Maven-evaluated project.version with strict erroring.
- name: Extract version number id: extract_version - run: | - version=$(ls releng/com.espressif.idf.product/target/products/Espressif-IDE-*.tar.gz | sed -E 's/.*Espressif-IDE-([0-9]+\.[0-9]+\.[0-9]+)-.*/\1/' | head -n 1) - echo "VERSION=$version" >> $GITHUB_ENV - echo "VERSION=$version" >> $GITHUB_OUTPUT + run: | + set -euo pipefail + version=$(mvn -q -Dexpression=project.version -DforceStdout help:evaluate | tail -n1) + if [ -z "${version:-}" ]; then + echo "Failed to determine version" >&2 + exit 1 + fi + echo "VERSION=$version" >> "$GITHUB_ENV" + echo "VERSION=$version" >> "$GITHUB_OUTPUT"📝 Committable suggestion
🤖 Prompt for AI Agents