Put correct last modified into list response #122
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Copyright (c) 2021-2022-2023 Luca Cappa | |
| # Released under the term specified in file LICENSE.txt | |
| # SPDX short identifier: MIT | |
| # | |
| # The peculiarity of this workflow is that assumes vcpkg stored as a submodule of this repository. | |
| # The workflow runs on x64 and ARM platforms. | |
| # Workflow steps: | |
| # - Setup vcpkg and cache it on the GitHub Action cloud based cache. | |
| # - Runs CMake with CMakePreset.json using a presest configuration | |
| # that leverages the vcpkg's toolchain file. This will automatically run vcpkg | |
| # to install dependencies described by the vcpkg.json manifest file. | |
| # This stage also runs vcpkg with Binary Caching leveraging GitHub Action cache to | |
| # store the built packages artifacts, hence it will be a no-op if those are restored | |
| # from cache (e.g., already previously built). | |
| # - Finally builds the sources with Ninja, and tests as well. | |
| name: ci | |
| on: | |
| push: | |
| pull_request: | |
| permissions: | |
| # deployments permission to deploy GitHub pages website | |
| deployments: write | |
| # contents permission to update benchmark contents in gh-pages branch | |
| contents: write | |
| jobs: | |
| job: | |
| name: ${{ matrix.os }}-${{ github.workflow }} | |
| runs-on: ${{ matrix.os }} | |
| environment: vcpkg | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| benchmark: [0, 1] | |
| os: [ubuntu-latest] | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: true | |
| - name: Setup system packages for vcpkg | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: sudo apt-get update && | |
| sudo apt-get install autoconf automake autoconf-archive | |
| - uses: lukka/[email protected] | |
| - name: Restore from cache and setup vcpkg executable and data files. | |
| uses: lukka/run-vcpkg@v11 | |
| env: | |
| VCPKG_BINARY_SOURCES: "clear;http,https://vcpkg:${{ secrets.VCPKG_WEBDAV_PW }}@vcpkg.urbackup.org,readwrite" | |
| with: | |
| vcpkgJsonGlob: 'vcpkg.json' | |
| vcpkgGitCommitId: d5ec528843d29e3a52d745a64b469f810b2cedbf | |
| - name: Run CMake+vcpkg+Ninja+CTest to build debug packages and generate/build/test the code. | |
| if: matrix.benchmark == 0 | |
| uses: lukka/run-cmake@v10 | |
| env: | |
| VCPKG_BINARY_SOURCES: "clear;http,https://vcpkg:${{ secrets.VCPKG_WEBDAV_PW }}@vcpkg.urbackup.org,readwrite" | |
| with: | |
| configurePreset: 'ninja-multi-vcpkg' | |
| buildPreset: 'ninja-vcpkg-debug' | |
| testPreset: 'test-debug' | |
| - name: Run CMake+vcpkg+Ninja+CTest to build release packages and generate/build/test the code. | |
| if: matrix.benchmark == 1 | |
| uses: lukka/run-cmake@v10 | |
| env: | |
| VCPKG_BINARY_SOURCES: "clear;http,https://vcpkg:${{ secrets.VCPKG_WEBDAV_PW }}@vcpkg.urbackup.org,readwrite" | |
| with: | |
| configurePreset: 'ninja-multi-vcpkg' | |
| buildPreset: 'ninja-vcpkg-release' | |
| testPreset: 'test-release' | |
| - name: Cleaning | |
| run: bash clean.sh | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.11 | |
| - name: Install Python dependencies | |
| run: pip install -r test/requirements.txt | |
| - name: Install pytest dependencies | |
| run: pip install pytest-md pytest-emoji | |
| - uses: pavelzw/pytest-action@v2 | |
| if: matrix.benchmark == 0 | |
| with: | |
| emoji: false | |
| custom-arguments: -p no:sugar --benchmark-skip test --timeout=300 | |
| - uses: pavelzw/pytest-action@v2 | |
| if: matrix.benchmark == 1 | |
| with: | |
| emoji: false | |
| custom-arguments: -p no:sugar --benchmark-only --benchmark-json output.json test | |
| - name: Store benchmark result | |
| uses: benchmark-action/github-action-benchmark@v1 | |
| if: matrix.benchmark == 1 | |
| with: | |
| tool: 'pytest' | |
| output-file-path: output.json | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| comment-on-alert: true | |
| gh-pages-branch: gh-pages | |
| benchmark-data-dir-path: homepage/dev/bench | |
| auto-push: true |