name: OSX on: push: branches: [ master, 'client_release/**' ] pull_request: branches: [ master ] schedule: - cron: '20 12 * * 0' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} AWS_DEFAULT_REGION: us-west-2 jobs: build-dependencies: name: build-dependencies runs-on: macos-latest steps: - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '14.2.0' - uses: actions/checkout@v3 - name: Cache dependencies uses: actions/cache@v3 with: path: 3rdParty/buildCache key: osx-${{ hashFiles('.github/workflows/osx.yml', '3rdParty/buildMacDependencies.sh', 'mac_build/dependencyNames.sh', 'mac_build/buildc-ares.sh', 'mac_build/buildcurl.sh', 'mac_build/buildfreetype.sh', 'mac_build/buildFTGL.sh', 'mac_build/buildopenssl.sh', 'mac_build/buildWxMac.sh') }} - name: install dependencies run: ./3rdParty/buildMacDependencies.sh -q build: name: ${{matrix.type}}-build runs-on: macos-latest needs: build-dependencies strategy: matrix: type: [manager, samples-makefile] fail-fast: false steps: - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '14.2.0' - uses: actions/checkout@v3 - name: Cache dependencies uses: actions/cache@v3 with: path: 3rdParty/buildCache key: osx-${{ hashFiles('.github/workflows/osx.yml', '3rdParty/buildMacDependencies.sh', 'mac_build/dependencyNames.sh', 'mac_build/buildc-ares.sh', 'mac_build/buildcurl.sh', 'mac_build/buildfreetype.sh', 'mac_build/buildFTGL.sh', 'mac_build/buildopenssl.sh', 'mac_build/buildWxMac.sh') }} - name: make manager if: success() && matrix.type == 'manager' run: ./mac_build/buildMacBOINC-CI.sh --no_shared_headers - name: make samples makefile if: matrix.type == 'samples-makefile' run: ./mac_build/buildMacMakefiles-CI.sh - name: Prepare logs on failure if: ${{ failure() }} run: python3 ./deploy/prepare_deployment.py logs - name: Upload logs on failure if: ${{ failure() }} uses: actions/upload-artifact@v3 with: name: osx_logs_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} path: deploy/logs.7z cmake-build: name: cmake-build runs-on: macos-latest steps: - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '14.2.0' - uses: actions/checkout@v3 - name: Check if build is running from origin repo if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} run: | echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" >> $GITHUB_ENV - name: Check if build is running from fork if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} run: | echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV - name: libs cmake run: osx/ci_build_libs_cmake.sh - name: Prepare logs on failure if: ${{ failure() }} run: python3 ./deploy/prepare_deployment.py logs - name: Upload logs on failure if: ${{ failure() }} uses: actions/upload-artifact@v3 with: name: osx_logs_cmake-build_${{ github.event.pull_request.head.sha }} path: deploy/logs.7z