# This workflow pretends like it's being run on AppVeyor by setting the # appropriate environment variables. name: CI (AppVeyor) on: push: paths: - 'examples/**' - 'project/**' pull_request: schedule: # Weekly, at 5:30 AM on Saturday (somewhat randomly chosen). - cron: '30 5 * * 6' workflow_dispatch: jobs: build: strategy: matrix: platform: [Win32, x64] configuration: [Debug, Release] runs-on: windows-2019 name: '${{ matrix.platform }} / ${{ matrix.configuration }}' defaults: run: shell: pwsh env: # https://www.appveyor.com/docs/environment-variables/ APPVEYOR: 'True' APPVEYOR_BUILD_FOLDER: '${{ github.workspace }}\examples\boost' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 PLATFORM: '${{ matrix.platform }}' CONFIGURATION: '${{ matrix.configuration }}' BOOST_VERSION: 1.81.0 steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Cache Boost uses: actions/cache@v3 with: path: '${{ github.workspace }}/examples/build/boost_*.tar.gz' key: 'boost_${{ env.BOOST_VERSION }}' - name: Build Boost run: python -m project.ci.boost --hint AppVeyor -- --with-filesystem - name: Build example project run: python -m project.ci.build --hint AppVeyor --install - name: Run example project run: ./.ci/run_foo.ps1 (Join-Path $env:APPVEYOR_BUILD_FOLDER .. build install bin foo)