name: "Build baremetal toolchain" on: ["push"] jobs: build: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v3" with: repository: "crosstool-ng/crosstool-ng" path: "ct_ng" - uses: "actions/checkout@v3" with: path: "tc" - name: "ct-ng dependencies" run: | sudo apt-get install -y gperf help2man libtool-bin meson ninja-build echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH - name: "Build ct-ng" working-directory: "ct_ng" run: "./bootstrap && ./configure --prefix=${{ github.workspace }}/.local && make && make install" - name: "Create build environment" run: "mkdir -p build/tarballs && cp tc/Baremetal/defconfig build/defconfig" - name: "Patch defconfig & configure build" working-directory: "build" run: | echo CT_LOCAL_TARBALLS_DIR=\"${{ github.workspace }}/build/tarballs\" >> defconfig echo CT_PREFIX_DIR=\"\${CT_TOP_DIR}/\${CT_HOST:+HOST-${CT_HOST}/}\${CT_TARGET}\" >> defconfig echo CT_LOG_PROGRESS_BAR=n >> defconfig ct-ng defconfig - name: "Tarball cache management" uses: actions/cache@v3 with: path: "build/tarballs" key: ${{ runner.os }}-ct-ng-tarballs - name: "Build toolchain" working-directory: "build" run: "ct-ng build" - name: "Create toolchain archive" working-directory: "build" run: "tar -cvzf sh-unknown-elf-${{ github.sha }}.tar.gz sh-unknown-elf" - name: "Publish artifact" uses: "actions/upload-artifact@v3" with: name: "toolchain archive" path: | build/sh-unknown-elf-${{ github.sha }}.tar.gz build/build.log retention-days: 30