diff --git a/.github/scripts/on-release.sh b/.github/scripts/on-release.sh index 7b32d9cc544..9e1c51ff48d 100755 --- a/.github/scripts/on-release.sh +++ b/.github/scripts/on-release.sh @@ -183,6 +183,7 @@ cp -f "$GITHUB_WORKSPACE/tools/gen_esp32part.py" "$PKG_DIR/tools/" cp -f "$GITHUB_WORKSPACE/tools/gen_esp32part.exe" "$PKG_DIR/tools/" cp -Rf "$GITHUB_WORKSPACE/tools/partitions" "$PKG_DIR/tools/" cp -Rf "$GITHUB_WORKSPACE/tools/sdk" "$PKG_DIR/tools/" +cp -f $GITHUB_WORKSPACE/tools/platformio-build*.py "$PKG_DIR/tools/" # Remove unnecessary files in the package folder echo "Cleaning up folders ..." @@ -194,6 +195,7 @@ echo "Generating platform.txt..." cat "$GITHUB_WORKSPACE/platform.txt" | \ sed "s/version=.*/version=$ver$extent/g" | \ sed 's/runtime.tools.xtensa-esp32-elf-gcc.path={runtime.platform.path}\/tools\/xtensa-esp32-elf//g' | \ +sed 's/runtime.tools.xtensa-esp32s2-elf-gcc.path={runtime.platform.path}\/tools\/xtensa-esp32s2-elf//g' | \ sed 's/tools.esptool_py.path={runtime.platform.path}\/tools\/esptool/tools.esptool_py.path=\{runtime.tools.esptool_py.path\}/g' \ > "$PKG_DIR/platform.txt" @@ -254,17 +256,30 @@ releasesJson=`curl -sH "Authorization: token $GITHUB_TOKEN" "https://api.github. if [ $? -ne 0 ]; then echo "ERROR: Get Releases Failed! ($?)"; exit 1; fi set +e -prev_release=$(echo "$releasesJson" | jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name') -prev_any_release=$(echo "$releasesJson" | jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name') +prev_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .prerelease == false)) | sort_by(.published_at | - fromdateiso8601) | .[0].tag_name") +prev_any_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false)) | sort_by(.published_at | - fromdateiso8601) | .[0].tag_name") +prev_branch_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .prerelease == false and .target_commitish == \"$RELEASE_BRANCH\")) | sort_by(.published_at | - fromdateiso8601) | .[0].tag_name") +prev_branch_any_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .target_commitish == \"$RELEASE_BRANCH\")) | sort_by(.published_at | - fromdateiso8601) | .[0].tag_name") shopt -s nocasematch +if [ "$prev_release" == "$RELEASE_TAG" ]; then + prev_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .prerelease == false)) | sort_by(.published_at | - fromdateiso8601) | .[1].tag_name") +fi if [ "$prev_any_release" == "$RELEASE_TAG" ]; then - prev_release=$(echo "$releasesJson" | jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name') - prev_any_release=$(echo "$releasesJson" | jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name') + prev_any_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false)) | sort_by(.published_at | - fromdateiso8601) | .[1].tag_name") +fi +if [ "$prev_branch_release" == "$RELEASE_TAG" ]; then + prev_branch_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .prerelease == false and .target_commitish == \"$RELEASE_BRANCH\")) | sort_by(.published_at | - fromdateiso8601) | .[1].tag_name") +fi +if [ "$prev_branch_any_release" == "$RELEASE_TAG" ]; then + prev_branch_any_release=$(echo "$releasesJson" | jq -e -r ". | map(select(.draft == false and .target_commitish == \"$RELEASE_BRANCH\")) | sort_by(.published_at | - fromdateiso8601) | .[1].tag_name") fi -COMMITS_SINCE_RELEASE="$prev_any_release" shopt -u nocasematch set -e +echo "Previous Release: $prev_release" +echo "Previous (any)release: $prev_any_release" +echo + # Merge package JSONs with previous releases if [ ! -z "$prev_any_release" ] && [ "$prev_any_release" != "null" ]; then echo "Merging with JSON from $prev_any_release ..." @@ -272,17 +287,12 @@ if [ ! -z "$prev_any_release" ] && [ "$prev_any_release" != "null" ]; then fi if [ "$RELEASE_PRE" == "false" ]; then - COMMITS_SINCE_RELEASE="$prev_release" if [ ! -z "$prev_release" ] && [ "$prev_release" != "null" ]; then echo "Merging with JSON from $prev_release ..." merge_package_json "$prev_release/$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL" fi fi -echo "Previous Release: $prev_release" -echo "Previous (any)release: $prev_any_release" -echo - # Upload package JSONs echo "Uploading $PACKAGE_JSON_DEV ..." echo "Download URL: "`git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_DEV"` @@ -327,21 +337,35 @@ if [ $arrLen > 3 ] && [ "${msgArray[0]:0:3}" == "tag" ]; then fi # Append Commit Messages +echo +echo "Previous Branch Release: $prev_branch_release" +echo "Previous Branch (any)release: $prev_branch_any_release" +echo +commitFile="$OUTPUT_DIR/commits.txt" +COMMITS_SINCE_RELEASE="$prev_branch_any_release" +if [ "$RELEASE_PRE" == "false" ]; then + COMMITS_SINCE_RELEASE="$prev_branch_release" +fi if [ ! -z "$COMMITS_SINCE_RELEASE" ] && [ "$COMMITS_SINCE_RELEASE" != "null" ]; then echo "Getting commits since $COMMITS_SINCE_RELEASE ..." - commitFile=$OUTPUT_DIR/commits.txt - git -C "$GITHUB_WORKSPACE" log --oneline "$COMMITS_SINCE_RELEASE..HEAD" > "$OUTPUT_DIR/commits.txt" - releaseNotes+=$'\r\n##### Commits\r\n' - IFS=$'\n' - for next in `cat $commitFile` - do - IFS=' ' read -r commitId commitMsg <<< "$next" - commitLine="- [$commitId](https://github.com/$GITHUB_REPOSITORY/commit/$commitId) $commitMsg" - releaseNotes+="$commitLine" - releaseNotes+=$'\r\n' - done - rm -f $commitFile + git -C "$GITHUB_WORKSPACE" log --oneline -n 500 "$COMMITS_SINCE_RELEASE..HEAD" > "$commitFile" +elif [ "$RELEASE_BRANCH" != "master" ]; then + echo "Getting all commits on branch '$RELEASE_BRANCH' ..." + git -C "$GITHUB_WORKSPACE" log --oneline -n 500 --cherry-pick --left-only --no-merges HEAD...origin/master > "$commitFile" +else + echo "Getting all commits on master ..." + git -C "$GITHUB_WORKSPACE" log --oneline -n 500 --no-merges > "$commitFile" fi +releaseNotes+=$'\r\n##### Commits\r\n' +IFS=$'\n' +for next in `cat $commitFile` +do + IFS=' ' read -r commitId commitMsg <<< "$next" + commitLine="- [$commitId](https://github.com/$GITHUB_REPOSITORY/commit/$commitId) $commitMsg" + releaseNotes+="$commitLine" + releaseNotes+=$'\r\n' +done +rm -f $commitFile # Prepend the original release body if [ "${RELEASE_BODY: -1}" == $'\r' ]; then diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6f63870e81c..58891c7165a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,8 @@ jobs: steps: - uses: actions/checkout@master + with: + fetch-depth: 0 - uses: actions/setup-python@v1 with: python-version: '3.x' diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 375c64aa9eb..7c976319075 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -36,7 +36,12 @@ { "packager": "esp32", "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "version": "gcc8_4_0-esp-2020r3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2020r3" }, { "packager": "esp32", @@ -47,6 +52,16 @@ "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mkfatfs", + "version": "0.3.6" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" } ] }