From 6d68ba3973c707e23d5a2e393aaaad4af8be3390 Mon Sep 17 00:00:00 2001 From: Alexander Batashev Date: Mon, 1 Jan 2024 12:55:02 +0300 Subject: [PATCH] feat: add gcc toolchain --- .github/workflows/gcc.yaml | 62 +++++++++++++++++++++++++++++++++++++ .github/workflows/llvm.yaml | 2 -- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/gcc.yaml diff --git a/.github/workflows/gcc.yaml b/.github/workflows/gcc.yaml new file mode 100644 index 0000000..17d12c4 --- /dev/null +++ b/.github/workflows/gcc.yaml @@ -0,0 +1,62 @@ +name: Build GCC toolchain +on: + workflow_dispatch: + inputs: + gcc_release: + required: true + +jobs: + build_linux_x64: + runs-on: ubuntu-latest + steps: + - name: Install dependencies + run: sudo apt update && sudo apt install -yqq libzstd-dev libisl-dev bisonc++ libisl-dev bison byacc libgmp-dev libmpfr-dev libmpc-dev flex m4 + - name: Install multilib + run: sudo apt install -yqq gcc-multilib g++-multilib + - name: Checkout code + uses: actions/checkout@v4 + with: + repository: "gcc.gnu.org/git/gcc.git" + ref: release/${{ inputs.gcc_release }} + - name: Build and install + env: + CXXFLAGS: -w + CFLAGS: -w + run: | + mkdir -p install/${{ inputs.gcc_release }}-linux-x86_64 + ./configure --with-static-standard-libraries \ + --enable-gold --enable-languages=c,c++,lto \ + --enable-lto --host=x86_64-pc-linux-gnu \ + --with-isl --with-zstd --prefix=$PWD/install/${{ inputs.gcc_release }}-linux-x86_64 + make -j2 + make install + + cd install + + tar --zstd -cf ${{ inputs.gcc_release }}-linux-x86_64.tar.zst ${{ inputs.gcc_release }}-linux-x86_64 + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + path: install/${{ inputs.gcc_release }}-linux-x86_64.tar.zst + name: linux-x86_64-toolchain + + publish_release: + needs: ["build_linux_x64"] + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v3 + - name: Collect sha256 checksums + run: | + touch RELASE.txt + sha256sum linux-x86_64-toolchain/${{ inputs.gcc_release }}-linux-x86_64.tar.zst >> RELEASE.txt + - name: Create release + uses: softprops/action-gh-release@v1 + with: + token: ${{ secrets.RELEASE_TOKEN }} + body_path: RELEASE.txt + tag_name: ${{ inputs.gcc_release }}-${{ github.sha }} + name: GCC Toolchain ${{ inputs.gcc_release }} + prerelease: true + files: | + linux-x86_64-toolchain/${{ inputs.gcc_release }}-linux-x86_64.tar.zst \ No newline at end of file diff --git a/.github/workflows/llvm.yaml b/.github/workflows/llvm.yaml index 4685395..cbe3ba5 100644 --- a/.github/workflows/llvm.yaml +++ b/.github/workflows/llvm.yaml @@ -164,5 +164,3 @@ jobs: files: | linux-x86_64-toolchain/${{ inputs.llvm_tag }}-linux-x86_64.tar.zst macos-x86_64-toolchain/${{ inputs.llvm_tag }}-macos-x86_64.tar.zst - -