diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3ea055a..88a847e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,26 +18,47 @@ jobs: name: base runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: checkout code + uses: actions/checkout@v3 + with: + submodules: "recursive" + fetch-depth: 1 + - name: build - run: make base + uses: nick-fields/retry@v2 + with: + timeout_minutes: 120 + retry_wait_seconds: 40 + max_attempts: 3 + retry_on: error + command: make base + - name: test run: make base.test + - name: archive base run: | mkdir -p cache docker save dockcross/base:latest | xz -e9 -T0 > ./cache/base.tar.xz + - name: save base uses: actions/upload-artifact@v3 with: name: cache path: ./cache retention-days: 1 + - name: deploy if: github.ref == 'refs/heads/master' - run: | - docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} - docker image push dockcross/base --all-tags + uses: nick-fields/retry@v2 + with: + timeout_minutes: 30 + retry_wait_seconds: 30 + max_attempts: 4 + retry_on: error + command: | + docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} + docker image push dockcross/base --all-tags image: name: ${{ matrix.arch_name.image }} @@ -833,39 +854,56 @@ jobs: cpython_arg: "", } steps: - - uses: actions/checkout@v3 + - name: checkout code + uses: actions/checkout@v3 + with: + submodules: "recursive" + fetch-depth: 1 + - uses: actions/download-artifact@v3 with: name: cache path: ./cache + - name: load base run: xz -d -k < ./cache/base.tar.xz | docker load + - name: build - run: make ${{ matrix.arch_name.image }} + uses: nick-fields/retry@v2 + with: + timeout_minutes: 360 + retry_wait_seconds: 20 + max_attempts: 3 + retry_on: error + command: make ${{ matrix.arch_name.image }} + - name: basic test run: make ${{ matrix.arch_name.image }}.test - # Updated on 28/08/2021 + + # Updated on 19/05/2022 - name: stockfish build test if: ${{ matrix.arch_name.stockfish == 'yes' }} run: | - git clone --depth 1 --branch sf_14 https://github.com/official-stockfish/Stockfish.git + git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git cd Stockfish/src ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} net ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} build ${{ matrix.arch_name.stockfish_arg }} -j2 cd ../.. rm -rf Stockfish - # Updated on 28/08/2021 + # Updated on 19/05/2022 + - name: ninja build test if: ${{ matrix.arch_name.ninja == 'yes' }} run: | - git clone --depth 1 --branch v1.10.2 https://github.com/ninja-build/ninja.git + git clone --depth 1 --branch v1.11.0 https://github.com/ninja-build/ninja.git cd ninja ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }} - # Updated on 28/08/2021 + + # Updated on 19/05/2022 - name: openssl build test if: ${{ matrix.arch_name.openssl == 'yes' }} run: | - git clone --depth 1 --branch OpenSSL_1_1_1k https://github.com/openssl/openssl.git + git clone --depth 1 --branch OpenSSL_1_1_1o https://github.com/openssl/openssl.git cd openssl wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch patch -p 0 < dockcross-android.patch @@ -873,47 +911,58 @@ jobs: ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 cd .. rm -rf openssl - # Updated on 28/08/2021 + + # Updated on 19/05/2022 - name: C build test if: ${{ matrix.arch_name.C == 'yes' }} run: | git clone https://github.com/TheAlgorithms/C.git cd C - git checkout cc241f58c253c533ac94e07151ef91a5ef7e5719 + git checkout 2314a195862243e09c485a66194866517a6f8c31 ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C_arg }} cd .. rm -rf C - # Updated on 28/08/2021 + + # Updated on 19/05/2022 - name: C-Plus-Plus build test if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' }} run: | git clone https://github.com/TheAlgorithms/C-Plus-Plus.git cd C-Plus-Plus - git checkout c3b07aed2240e5364e1a49d091a00b61f520e653 + git checkout 37a29008e6b77921a97a89ca8b7fd9e700aeccd0 ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }} cd .. rm -rf C-Plus-Plus - # Updated on 28/08/2021 + + # Updated on 19/05/2022 - name: fmt build test if: ${{ matrix.arch_name.fmt == 'yes' }} run: | - git clone --depth 1 --branch 8.0.1 https://github.com/fmtlib/fmt.git + git clone --depth 1 --branch 8.1.1 https://github.com/fmtlib/fmt.git cd fmt ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.fmt_arg }} -DFMT_DOC=OFF cd .. rm -rf fmt - # Updated on 05/10/2021 + + # Updated on 19/05/2022 - name: cpython build test if: ${{ matrix.arch_name.cpython == 'yes' }} run: | - git clone --depth 1 --branch v3.9.2 https://github.com/python/cpython.git + git clone --depth 1 --branch v3.9.13 https://github.com/python/cpython.git cd cpython ./../tools/dockcross-command.sh ${{ matrix.arch_name.image }} ./configure ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --disable-ipv6 ${{ matrix.arch_name.cpython_arg }} --build=x86_64-linux-gnu --enable-shared ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 cd .. rm -rf cpython + - name: deploy if: github.ref == 'refs/heads/master' - run: | - docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} - docker image push dockcross/${{ matrix.arch_name.image }} --all-tags + uses: nick-fields/retry@v2 + with: + timeout_minutes: 30 + retry_wait_seconds: 30 + max_attempts: 4 + retry_on: error + command: | + docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} + docker image push dockcross/${{ matrix.arch_name.image }} --all-tags diff --git a/LICENSE b/LICENSE index 6f3c997..00affdc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2015, 2016, 2017, 2018 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin +Copyright (c) 2015, 2016, 2017, 2018, 2021 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin, Bensuperpc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal