Testing... #2046
Workflow file for this run
This file contains 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
--- | |
name: π MacOS (Qt6) | |
on: | |
push: | |
branches: | |
- master | |
- release-** | |
pull_request: | |
release: | |
types: ['published'] | |
jobs: | |
build: | |
runs-on: macos-11 | |
steps: | |
- name: π£ Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: πΎ Prepare vars | |
id: vars | |
run: | | |
./scripts/ci/env_gh.sh | |
BUILD_ROOT="/Users/runner" | |
echo "BUILD_ROOT=${BUILD_ROOT}" >> $GITHUB_ENV | |
echo "BUILD_TYPE=Release" >> $GITHUB_ENV | |
echo "CMAKE_BUILD_DIR=${BUILD_ROOT}/builddir" >> $GITHUB_ENV | |
- name: π© Install CMake and Ninja | |
uses: lukka/get-cmake@latest | |
- name: π¨ Prepare build env | |
run: | | |
brew install automake bison flex gnu-sed create-dmg autoconf-archive | |
echo $(brew --prefix bison)/bin >> $GITHUB_PATH | |
echo $(brew --prefix flex)/bin >> $GITHUB_PATH | |
- name: β Setup XCode | |
uses: maxim-lobanov/setup-xcode@v1.5.1 | |
with: | |
xcode-version: latest-stable | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
key: ccache-macos-qt6 | |
max-size: 200M | |
- uses: Apple-Actions/import-codesign-certs@v1 | |
with: | |
p12-file-base64: ${{ secrets.APPLE_CODESIGN_CERT_BASE64_DEV }} | |
p12-password: ${{ secrets.APPLE_CODESIGN_CERT_PASS_DEV }} | |
- uses: Apple-Actions/download-provisioning-profiles@v1 | |
with: | |
bundle-id: ch.opengis.qfield | |
issuer-id: ${{ secrets.IOS_APPSTORE_ISSUER_ID }} | |
api-key-id: ${{ secrets.IOS_APPSTORE_KEY_ID }} | |
api-private-key: ${{ secrets.IOS_APPSTORE_PRIVATE_KEY }} | |
- name: π Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: π± Install dependencies and generate project files | |
run: | | |
source ./scripts/version_number.sh | |
source ./scripts/ci/generate-version-details.sh | |
cmake -S "${{ github.workspace }}" \ | |
-B "${CMAKE_BUILD_DIR}" \ | |
-G Xcode \ | |
-T buildsystem=1 \ | |
-D CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \ | |
-D WITH_VCPKG=ON \ | |
-D WITH_SPIX=ON \ | |
-D BUILD_WITH_QT6=ON \ | |
-D APP_VERSION="${APP_VERSION}" \ | |
-D APP_VERSION_STR="${APP_VERSION_STR}" \ | |
-D APP_PACKAGE_NAME="${APP_PACKAGE_NAME}" \ | |
-D ENABLE_TESTS=ON \ | |
-D NUGET_USERNAME=opengisch \ | |
-D NUGET_TOKEN=${{ secrets.GITHUB_TOKEN }} \ | |
-D SENTRY_DSN=${{ secrets.SENTRY_DSN }} \ | |
-D SENTRY_ENV="${APP_ENV}" \ | |
-D MACOS_CODE_SIGN_IDENTITY="Apple Development" \ | |
-D CMAKE_CXX_VISIBILITY_PRESET=hidden \ | |
-D WITH_CCACHE=ON | |
- name: π Build | |
run: | | |
# https://www.reddit.com/r/MacOS/comments/f37ybt/osascript_cant_open_default_scripting_component/?utm_medium=android_app&utm_source=share | |
sudo rm -rf /Library/Audio/Plug-Ins/Components | |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" --config ${{ env.BUILD_TYPE }} | |
- name: 𧫠Test | |
env: | |
PROJ_LIB: ${{ env.CMAKE_BUILD_DIR }}/vcpkg_installed/x64-osx/share/proj | |
QFIELD_SYSTEM_SHARED_DATA_PATH: ${{ env.CMAKE_BUILD_DIR }}/vcpkg_installed/x64-osx/share | |
run: | | |
pip install -r "${{ github.workspace }}/test/spix/requirements.txt" | |
cd "${{ env.CMAKE_BUILD_DIR }}" | |
ctest --output-on-failure -R smoke -C ${{ env.BUILD_TYPE }} | |
- name: π¦ Package | |
run: | | |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" --target bundle --config ${{ env.BUILD_TYPE }} | |
- name: π¦ Upload package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "QField-dev-x64-osx-experimental-qt6" | |
path: ${{ env.CMAKE_BUILD_DIR }}/QField-Installer.dmg | |
- name: π Upload test report | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "test-report-x64-osx-${{ env.BUILD_TYPE }}" | |
path: "${{ env.CMAKE_BUILD_DIR }}/report" | |
- name: π Upload logs | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: logs-x64-osx | |
path: | | |
${{ env.CMAKE_BUILD_DIR }}/**/*.log | |
- name: βΎοΈ Upload debug symbols | |
# if: release or labeled PR | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
run: | | |
export INSTALL_DIR=$(pwd) | |
curl -sL https://sentry.io/get-cli/ | bash | |
./sentry-cli upload-dif -o opengisch -p qfield ${{ env.CMAKE_BUILD_DIR }} |