diff --git a/.github/workflows/build-gdb.yml b/.github/workflows/build-gdb.yml index 10e4f89..81d1983 100644 --- a/.github/workflows/build-gdb.yml +++ b/.github/workflows/build-gdb.yml @@ -7,6 +7,8 @@ jobs: name: Build GDB & gdbserver x86 runs-on: ubuntu-latest container: muslcc/x86_64:i686-linux-musl + outputs: + version: ${{ steps.build_gdb.outputs.PACKAGED_VERSION }} steps: - name: Checkout uses: actions/checkout@v2 @@ -119,4 +121,44 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ steps.build_gdb.outputs.PACKAGED_NAME }} - path: ${{ steps.build_gdb.outputs.PACKAGED_NAME_PATH }} \ No newline at end of file + path: ${{ steps.build_gdb.outputs.PACKAGED_NAME_PATH }} + + create-release: + name: Create GDB & gdbserver Release + runs-on: ubuntu-latest + needs: [build-x86, build-x86_64, build-armhf, build-aarch64] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Prepare Environment + run: mkdir /tmp/releases + + - name: Download Artifacts + uses: actions/download-artifact@v2 + with: + path: /tmp/releases + + - name: List Artifacts + run: ls -laR /tmp/releases + + - name: Tag Release + id: tag_release + run: | + set +e + if [ $(git tag "gdb-v${{ needs.build-x86.outputs.version }}") ];then + git push origin "gdb-v${{ needs.build-x86.outputs.version }}" + echo ::set-output name=NEW_RELEASE::"true" + else + echo "Tag for version ${{ needs.build-x86.outputs.version }} already exists. Skipping release creation." + echo ::set-output name=NEW_RELEASE::"false" + fi + + - name: Create Release + uses: ncipollo/release-action@v1 + if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} + with: + name: gdb-v${{ needs.build-x86.outputs.version }} + tag: gdb-v${{ needs.build-x86.outputs.version }} + artifacts: "/tmp/releases/*/*" + token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/build/targets/build_gdb.sh b/build/targets/build_gdb.sh index e8cb4bb..916d74b 100755 --- a/build/targets/build_gdb.sh +++ b/build/targets/build_gdb.sh @@ -47,12 +47,14 @@ main() { fi GDB_VERSION=$(get_version "${BUILD_DIRECTORY}/gdb_build/gdb/gdb --version |head -n1 |awk '{print \$4}'") GDBSERVER_VERSION=$(get_version "${BUILD_DIRECTORY}/gdb_build/gdbserver/gdbserver --version |head -n1 |awk '{print \$4}'") + version_number=$(echo "$GDB_VERSION" | cut -d"-" -f2) cp "${BUILD_DIRECTORY}/gdb_build/gdb/gdb" "${OUTPUT_DIRECTORY}/gdb${GDB_VERSION}" cp "${BUILD_DIRECTORY}/gdb_build/gdbserver/gdbserver" "${OUTPUT_DIRECTORY}/gdbserver${GDBSERVER_VERSION}" echo "[+] Finished building GDB ${CURRENT_ARCH}" echo ::set-output name=PACKAGED_NAME::"gdb${GDB_VERSION}" echo ::set-output name=PACKAGED_NAME_PATH::"/output/*" + echo ::set-output name=PACKAGED_VERSION::"${version_number}" } main