diff --git a/.github/workflows/ddc-tcc.yml b/.github/workflows/ddc-tcc.yml index f8247ea..8c80637 100644 --- a/.github/workflows/ddc-tcc.yml +++ b/.github/workflows/ddc-tcc.yml @@ -29,7 +29,13 @@ jobs: - name: Setup tcc run: ./.github/workflows/scripts/setup.sh $( [[ "${{ inputs.compromise-tcc }}" == 'true' ]] && echo "-c" ) - name: Perform DDC - run: ./.github/workflows/scripts/ddc.sh + run: ./.github/workflows/scripts/ddc.sh -e ${{ matrix.os }} + - name: Upload hashes + id: upload_hashes + uses: actions/upload-artifact@v4 + with: + name: hashes + path: /tmp/${{ matrix.os }}.txt - name: Create tar if: ${{ github.event.inputs.upload-results == 'true' }} run: tar -czf ./build-${{matrix.os}}.tar.gz ./build @@ -39,4 +45,17 @@ jobs: with: if-no-files-found: error path: ./build-${{matrix.os}}.tar.gz - name: build-${{matrix.os}}.tar.gz \ No newline at end of file + name: build-${{matrix.os}}.tar.gz + + summary: + runs-on: ubuntu-latest + needs: [DDC] + steps: + - uses: actions/checkout@v4 + - name: Fetch hashes + uses: actions/download-artifact@v4 + with: + name: hashes + path: hashes + - run: | + cat hashes/* \ No newline at end of file diff --git a/.github/workflows/scripts/ddc.sh b/.github/workflows/scripts/ddc.sh index 89ccd44..c8b98ec 100755 --- a/.github/workflows/scripts/ddc.sh +++ b/.github/workflows/scripts/ddc.sh @@ -8,16 +8,20 @@ build_dir=$(realpath "./build") # default config untrusted_cc="tcc" +ddc_env="none" untrusted_src_dir="tinycc-f6385c0" trusted_cc="gcc" extra_flags="-s -fno-stack-protector" -OPTSTRING="cst" +OPTSTRING="cste:" while getopts ${OPTSTRING} opt; do case ${opt} in c) untrusted_cc=${OPTARG} ;; + e) + ddc_env=${OPTARG} + ;; s) untrusted_src_dir=${OPTARG} ;; @@ -64,9 +68,13 @@ ln -sfT ${build_dir}/stage1-tcc${prefix} ./tcc-root make objcopy -D libtcc.a make install DESTDIR=${build_dir}/stage2-tcc -echo "___________BINARIES___________" -sha256sum ${build_dir}/cp-tcc${prefix}/bin/tcc ${build_dir}/ca-tcc${prefix}/bin/tcc ${build_dir}/stage2-tcc${prefix}/bin/tcc -echo "___________LIBTCC___________" -sha256sum ${build_dir}/cp-tcc${prefix}/lib/libtcc.a ${build_dir}/ca-tcc${prefix}/lib/libtcc.a ${build_dir}/stage2-tcc${prefix}/lib/libtcc.a -echo "___________LIBTCC1___________" -sha256sum ${build_dir}/cp-tcc${prefix}/lib/tcc/libtcc1.a ${build_dir}/ca-tcc${prefix}/lib/tcc/libtcc1.a ${build_dir}/stage2-tcc${prefix}/lib/tcc/libtcc1.a +# save & print hashes +log_file=/tmp/${ddc_env}.txt +echo "***********${ddc_env}***********" >> ${log_file} +echo "___________BINARIES___________" >> ${log_file} +sha256sum ${build_dir}/cp-tcc${prefix}/bin/tcc ${build_dir}/ca-tcc${prefix}/bin/tcc ${build_dir}/stage2-tcc${prefix}/bin/tcc >> ${log_file} +echo "___________LIBTCC___________" >> ${log_file} +sha256sum ${build_dir}/cp-tcc${prefix}/lib/libtcc.a ${build_dir}/ca-tcc${prefix}/lib/libtcc.a ${build_dir}/stage2-tcc${prefix}/lib/libtcc.a >> ${log_file} +echo "___________LIBTCC1___________" >> ${log_file} +sha256sum ${build_dir}/cp-tcc${prefix}/lib/tcc/libtcc1.a ${build_dir}/ca-tcc${prefix}/lib/tcc/libtcc1.a ${build_dir}/stage2-tcc${prefix}/lib/tcc/libtcc1.a >> ${log_file} +cat ${log_file}