Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ jobs:
- name: setup Xcode version (macos)
if: runner.os == 'macOS'
run: sudo xcode-select -s /Applications/Xcode_${{ env.xcodeVersion }}.app/Contents/Developer

- name: Force Java 8 (macOS)
if: startsWith(matrix.os, 'macos')
shell: bash
run: echo "JAVA_HOME=${JAVA_HOME_8_X64}" >> $GITHUB_ENV
- name: Store git credentials for all git commands
# Forces all git commands to use authenticated https, to prevent throttling.
shell: bash
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/cpp-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,13 @@ jobs:
if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }}
strategy:
matrix:
os: [ubuntu-20.04, macos-12]
os: [ubuntu-20.04, macos-13]
include:
- os: ubuntu-20.04
tools_platform: linux
# Binutils 2.35.1 released Sep 19, 2020
binutils_version: "2.35.1"
- os: macos-12
- os: macos-13
tools_platform: darwin
# Binutils 2.35.1 released Sep 19, 2020
binutils_version: "2.35.1"
Expand Down Expand Up @@ -185,7 +185,7 @@ jobs:

build_and_package_ios_tvos:
name: build-and-package-ios-tvos
runs-on: macos-12
runs-on: macos-13
if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }}
steps:
- name: Store git credentials for all git commands
Expand Down Expand Up @@ -305,7 +305,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-20.04, macos-12]
os: [windows-latest, ubuntu-20.04, macos-13]
build_type: ["Release", "Debug"]
architecture: ["x64", "x86", "arm64"]
msvc_runtime: ["static", "dynamic"]
Expand All @@ -325,21 +325,21 @@ jobs:
vcpkg_triplet_suffix: "linux"
additional_build_flags: ""
sdk_platform: "linux"
- os: macos-12
- os: macos-13
vcpkg_triplet_suffix: "osx"
additional_build_flags: "--target_format libraries"
sdk_platform: "darwin"

exclude:
- os: windows-latest
linux_abi: "c++11"
- os: macos-12
- os: macos-13
architecture: "x86"
- os: macos-12
- os: macos-13
msvc_runtime: "dynamic"
- os: macos-12
- os: macos-13
linux_abi: "c++11"
- os: macos-12
- os: macos-13
build_type: "Debug"
- os: ubuntu-20.04
msvc_runtime: "dynamic"
Expand Down Expand Up @@ -492,7 +492,7 @@ jobs:
suffix: '-x64-Debug-dynamic'
runs_on_platform: ubuntu-20.04
- sdk_platform: darwin
runs_on_platform: macos-12
runs_on_platform: macos-13
exclude:
- sdk_platform: windows
suffix: ''
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ jobs:
# msvc_runtime excludes
- os: ubuntu-20.04
msvc_runtime: "dynamic"
- os: macos-12
- os: macos-13
msvc_runtime: "dynamic"
# architecture excluees
- os: macos-12
- os: macos-13
architecture: "x86"
# Xcode excludes -- allow only one on osx and linux
- os: ubuntu-20.04
Expand Down
48 changes: 26 additions & 22 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:
required: true
operating_systems:
description: 'CSV of VMs to run on'
default: 'ubuntu-20.04,windows-latest,macos-12'
default: 'ubuntu-20.04,windows-latest,macos-13'
required: true
desktop_ssl_variants:
description: 'CSV of desktop SSL variants to use'
Expand Down Expand Up @@ -204,7 +204,7 @@ jobs:
# at 3am PST/4am PDT. Running firestore desktop integration test aginst tip-of-tree ios repo
echo "::warning ::Running against Firestore tip-of-tree"
matrix_platform="Desktop"
matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "ubuntu-20.04,macos-12")
matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "ubuntu-20.04,macos-13")
else
matrix_platform=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k platform -o "${{github.event.inputs.platforms}}" --apis ${apis} )
matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "${{github.event.inputs.operating_systems}}")
Expand Down Expand Up @@ -271,7 +271,7 @@ jobs:
- os: ubuntu-20.04
arch: arm64
# Do not attempt to use x86 on Mac.
- os: macos-12
- os: macos-13
arch: x86
# Until we support building openssl from source, we can't use the
# system's openssl when cross-compiling, except on Linux. Builds all
Expand All @@ -280,7 +280,7 @@ jobs:
- os: windows-latest
ssl_variant: openssl
arch: x86
- os: macos-12
- os: macos-13
ssl_variant: openssl
arch: arm64
steps:
Expand Down Expand Up @@ -420,6 +420,10 @@ jobs:
with:
ref: ${{needs.check_and_prepare.outputs.github_ref}}
submodules: true
- name: Force Java 8 (macOS)
if: startsWith(matrix.os, 'macos')
shell: bash
run: echo "JAVA_HOME=${JAVA_HOME_8_X64}" >> $GITHUB_ENV
- name: Add msbuild to PATH (Windows)
if: startsWith(matrix.os, 'windows')
uses: microsoft/setup-msbuild@v1.1
Expand Down Expand Up @@ -522,7 +526,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-12]
os: [macos-13]
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -621,7 +625,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-12]
os: [macos-13]
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -732,7 +736,7 @@ jobs:
- os: ubuntu-20.04
arch: arm64
# Do not attempt to use x86 on Mac.
- os: macos-12
- os: macos-13
arch: x86
# Until we support building openssl from source, we can't use the
# system's openssl when cross-compiling, except on Linux. Builds all
Expand All @@ -744,7 +748,7 @@ jobs:
# Custom for this matrix: MacOS GitHub-hosted runner cannot test arm64
# code. Exclude that scenario from running here; it will run in
# test_desktop_custom_runners.
- os: macos-12
- os: macos-13
arch: arm64
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -843,7 +847,7 @@ jobs:
name: test-desktop-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.ssl_variant }}-custom-runner
needs: [check_and_prepare, build_desktop]
runs-on: [self-hosted, firebase-cpp, '${{ matrix.runner_label }}']
if: contains(needs.check_and_prepare.outputs.matrix_platform, 'Desktop') && contains(needs.check_and_prepare.outputs.matrix_arch_combined, 'arm64') && contains(needs.check_and_prepare.outputs.matrix_os, 'macos-12') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
if: contains(needs.check_and_prepare.outputs.matrix_platform, 'Desktop') && contains(needs.check_and_prepare.outputs.matrix_arch_combined, 'arm64') && contains(needs.check_and_prepare.outputs.matrix_os, 'macos-13') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
strategy:
fail-fast: false
matrix:
Expand All @@ -858,15 +862,15 @@ jobs:
- os: windows-latest
runner_label: ${{ needs.check_and_prepare.outputs.runner_label_macos_arm64 }}
# Don't run x86 tests on any Mac runner.
- os: macos-12
- os: macos-13
arch: x86
# Don't run x64 tests on the Mac arm64 runner.
- os: macos-12
- os: macos-13
arch: x64
runner_label: ${{ needs.check_and_prepare.outputs.runner_label_macos_arm64 }}
# Until we support building openssl from source, we can't link to system
# openssl when cross-compiling, so exclude openssl from mac arm64 testing.
- os: macos-12
- os: macos-13
arch: arm64
ssl_variant: openssl
steps:
Expand Down Expand Up @@ -911,7 +915,7 @@ jobs:
${{ secrets.TEST_SECRET }}
EOF
- name: Run Desktop integration tests on M1 Mac
if: ${{ matrix.os == 'macos-12' && matrix.arch == 'arm64' && matrix.runner_label == needs.check_and_prepare.outputs.runner_label_macos_arm64 }}
if: ${{ matrix.os == 'macos-13' && matrix.arch == 'arm64' && matrix.runner_label == needs.check_and_prepare.outputs.runner_label_macos_arm64 }}
shell: bash
run: |
# This is an M1 Mac GitHub self-hosted runner.
Expand Down Expand Up @@ -1036,7 +1040,7 @@ jobs:
distribution: 'temurin'
java-version: '8'
- name: Run Android integration tests on Emulator locally
timeout-minutes: 150
timeout-minutes: 180
if: steps.device-info.outputs.device_type == 'virtual'
run: |
python scripts/gha/test_simulator.py --testapp_dir testapps \
Expand All @@ -1047,7 +1051,7 @@ jobs:
- id: ftl_test
if: steps.device-info.outputs.device_type == 'ftl'
uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4
timeout-minutes: 120
timeout-minutes: 240
with:
credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
testapp_dir: testapps
Expand Down Expand Up @@ -1120,7 +1124,7 @@ jobs:
test_ios:
name: test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}-${{ matrix.test_type }}
needs: [check_and_prepare, build_ios]
runs-on: macos-12
runs-on: macos-13
if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
strategy:
fail-fast: false
Expand All @@ -1134,7 +1138,7 @@ jobs:
test_type: "uitest"
- ios_device: "ios_latest"
test_type: "uitest"
build_os: [macos-12]
build_os: [macos-13]
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -1187,7 +1191,7 @@ jobs:
run: |
firebase emulators:start --only firestore --project demo-example &
- name: Run iOS integration tests on Simulator locally
timeout-minutes: 150
timeout-minutes: 180
if: steps.device-info.outputs.device_type == 'virtual'
run: |
python scripts/gha/test_simulator.py --testapp_dir testapps \
Expand All @@ -1198,7 +1202,7 @@ jobs:
- id: ftl_test
if: steps.device-info.outputs.device_type == 'ftl'
uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4
timeout-minutes: 90
timeout-minutes: 120
with:
credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
testapp_dir: testapps
Expand Down Expand Up @@ -1264,13 +1268,13 @@ jobs:
test_tvos:
name: test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}
needs: [check_and_prepare, build_tvos]
runs-on: macos-12
runs-on: macos-13
if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
strategy:
fail-fast: false
matrix:
tvos_device: ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }}
build_os: [macos-12]
build_os: [macos-13]
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -1314,7 +1318,7 @@ jobs:
run: |
firebase emulators:start --only firestore --project demo-example &
- name: Run tvOS integration tests on Simulator locally
timeout-minutes: 90
timeout-minutes: 120
run: |
python scripts/gha/test_simulator.py --testapp_dir testapps \
--tvos_device "${{ matrix.tvos_device }}" \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ 'macos-12' ]
os: [ 'macos-13' ]
xcode_version: ${{ fromJson(needs.prepare_matrix.outputs.matrix_xcode_version) }}
steps:
- name: Store git credentials for all git commands
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ env:
jobs:
update_dependencies:
name: update-deps
runs-on: macos-12
runs-on: macos-13
steps:
- name: Get token for firebase-workflow-trigger
uses: tibdex/github-app-token@v1
Expand Down
16 changes: 8 additions & 8 deletions scripts/gha/print_matrix_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,35 +73,35 @@
PARAMETERS = {
"desktop": {
"matrix": {
"os": ["ubuntu-20.04", "macos-12"],
"os": ["ubuntu-20.04", "macos-13"],
"build_type": ["Release", "Debug"],
"architecture": ["x64", "x86", "arm64"],
"msvc_runtime": ["static","dynamic"],
"xcode_version": ["14.1"],
"python_version": ["3.7"],

EXPANDED_KEY: {
"os": ["ubuntu-20.04", "macos-12", "windows-latest"],
"os": ["ubuntu-20.04", "macos-13", "windows-latest"],
"xcode_version": ["14.1"],
}
}
},

"android": {
"matrix": {
"os": ["ubuntu-20.04", "macos-12", "windows-latest"],
"os": ["ubuntu-20.04", "macos-13", "windows-latest"],
"architecture": ["x64"],
"python_version": ["3.7"],

EXPANDED_KEY: {
"os": ["ubuntu-20.04", "macos-12", "windows-latest"]
"os": ["ubuntu-20.04", "macos-13", "windows-latest"]
}
}
},

"integration_tests": {
"matrix": {
"os": ["ubuntu-20.04", "macos-12", "windows-latest"],
"os": ["ubuntu-20.04", "macos-13", "windows-latest"],
"platform": ["Desktop", "Android", "iOS", "tvOS"],
"ssl_lib": ["openssl"],
"android_device": ["android_target", "emulator_ftl_target"],
Expand Down Expand Up @@ -222,9 +222,9 @@
{"type": "ftl", "device": "model=iphone8,version=16.6"},
{"type": "ftl", "device": "model=ipad10,version=16.6"},
],
"simulator_min": [ {"type": "virtual", "name":"iPhone 8", "version":"15.2"} ],
"simulator_target": [ {"type": "virtual", "name":"iPhone 8", "version":"16.1"} ],
"simulator_latest": [ {"type": "virtual", "name":"iPhone 11", "version":"16.1"} ],
"simulator_min": [ {"type": "virtual", "name":"iPhone SE (3rd generation)", "version":"16.1"} ],
"simulator_target": [ {"type": "virtual", "name":"iPhone 14", "version":"17.0.1"} ],
"simulator_latest": [ {"type": "virtual", "name":"iPhone 14 Pro Max", "version":"17.2"} ],
"tvos_simulator": [ {"type": "virtual", "name":"Apple TV", "version":"16.1"} ],
}

Expand Down