diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index a5a5f20..c7d9a0a 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -5,66 +5,25 @@ on: [push, pull_request] jobs: build_linux: runs-on: ubuntu-latest - defaults: - run: - shell: bash - # Use container with docker installed - container: - image: catthehacker/ubuntu:act-latest - strategy: - fail-fast: true - max-parallel: 4 - matrix: - config: - - { name: g++15, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/gcc, cxx: /usr/bin/g++, build_type: Debug, cppstd: 17 } - - { name: g++15, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/gcc, cxx: /usr/bin/g++, build_type: Release, cppstd: 17 } - - { name: clang15, image: fir.love.io:3005/amd64/clang15, cc: /usr/bin/clang-15, cxx: /usr/bin/clang++-15, build_type: Debug, cppstd: 17 } - - { name: clang17, image: fir.love.io:3005/amd64/clang17, cc: /usr/bin/clang-17, cxx: /usr/bin/clang++-17, build_type: Debug, cppstd: 17 } - - { name: clang18, image: fir.love.io:3005/amd64/clang18, cc: /usr/bin/clang-18, cxx: /usr/bin/clang++-18, build_type: Debug, cppstd: 17 } - - { name: clang19, image: fir.love.io:3005/amd64/clang19, cc: /usr/bin/clang-19, cxx: /usr/bin/clang++-19, build_type: Debug, cppstd: 17 } - - { name: clang20, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/clang, cxx: /usr/bin/clang++, build_type: Debug, cppstd: 17 } - - { name: clang20, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/clang, cxx: /usr/bin/clang++, build_type: Release, cppstd: 17 } - - { name: asan, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/gcc, cxx: /usr/bin/g++, build_type: asan, cppstd: 17 } - - { name: tsan, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/gcc, cxx: /usr/bin/g++, build_type: tsan, cppstd: 17 } - - { name: ubsan, image: fir.love.io:3005/amd64/gcc1511, cc: /usr/bin/gcc, cxx: /usr/bin/g++, build_type: ubsan, cppstd: 17 } - - { name: g++9.4.0, image: fir.love.io:3005/amd64/gcc940, cc: /opt/gcc940/bin/gcc, cxx: /opt/gcc940/bin/g++, build_type: Debug, cppstd: 17 } - - { name: g++10.3.0, image: fir.love.io:3005/amd64/gcc1030, cc: /opt/gcc1030/bin/gcc, cxx: /opt/gcc1030/bin/g++, build_type: Debug, cppstd: 17 } - - { name: g++11.3.0, image: fir.love.io:3005/amd64/gcc1130, cc: /opt/gcc1130/bin/gcc, cxx: /opt/gcc1130/bin/g++, build_type: Debug, cppstd: 17 } - - { name: g++12.3.0, image: fir.love.io:3005/amd64/gcc1230, cc: /opt/gcc1230/bin/gcc, cxx: /opt/gcc1230/bin/g++, build_type: Debug, cppstd: 20 } - - { name: g++13.3.0, image: fir.love.io:3005/amd64/gcc1330, cc: /opt/gcc1330/bin/gcc, cxx: /opt/gcc1330/bin/g++, build_type: Debug, cppstd: 20 } - - { name: g++14.3.0, image: fir.love.io:3005/amd64/gcc1430, cc: /opt/gcc1430/bin/gcc, cxx: /opt/gcc1430/bin/g++, build_type: Debug, cppstd: 20 } - - name: "${{ matrix.config.name}} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }})" steps: - - uses: actions/checkout@v3 - - name: Build - uses: https://github.com/addnab/docker-run-action@v3 - with: - image: ${{ matrix.config.image }} - options: --rm --volumes-from=${{ env.JOB_CONTAINER_NAME }} --pull always -v /home/vcpkg:/home/vcpkg - run: | - cd ${{ gitea.workspace }} - export VCPKG_DEFAULT_BINARY_CACHE=/home/vcpkg - ./build.sh -cc=${{ matrix.config.cc }} --cxx=${{ matrix.config.cxx }} --vcpkg --cmake="-DCMAKE_BUILD_TYPE=${{ matrix.config.cppstd }} -DCMAKE_CXX_STD=${{ matrix.config.cppstd }} -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON" + - name: Checkout source + uses: actions/checkout@v4 - results: - runs-on: ubuntu-latest - if: always() - needs: build_linux - steps: - - name: Report failure - if: failure() - uses: tsickert/discord-webhook@v5.4.0 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build image + id: build + uses: docker/build-push-action@v5 with: - webhook-url: ${{ secrets.WEBHOOK_URL }} - username: Gitea - avatar-url: https://about.gitea.com/gitea-text.svg - content: "Repo ${{ gitea.repository }} branch ${{ gitea.ref }} build :x:" - - name: Report success - if: success() - uses: tsickert/discord-webhook@v5.4.0 - with: - webhook-url: ${{ secrets.WEBHOOK_URL }} - username: Gitea - avatar-url: https://about.gitea.com/gitea-text.svg - content: "Repo ${{ gitea.repository }} branch ${{ gitea.ref }} build :white_check_mark:" \ No newline at end of file + context: . + file: Dockerfile + # do not push yet + push: false + tags: | + ${{ github.repository }}:${{ github.sha }} + ${{ github.repository }}:${{ github.ref_name }} + ${{ github.repository }}:latest + build-args: | + # Add any build args here + # ARG_NAME=VALUE \ No newline at end of file