-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bring back xcode beta 6 test suite but with reduced jobs
- Loading branch information
1 parent
fc78ade
commit ed6b71c
Showing
1 changed file
with
107 additions
and
191 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,8 @@ | ||
name: "CI Tests (Xcode 16.0 Beta)" | ||
|
||
on: | ||
workflow_dispatch | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
|
||
env: | ||
XCODE_VERSION: "16.0-beta" | ||
|
@@ -84,124 +85,111 @@ jobs: | |
run: | | ||
cd ${{ matrix.package }} && swift build | ||
build-and-unit-test: | ||
runs-on: macos-latest | ||
needs: [tuist-generation, changes] | ||
timeout-minutes: 20 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
# macOS_current | ||
- destination: platform=macOS,arch=x86_64 | ||
scheme: ApolloTests | ||
test-plan: Apollo-CITestPlan | ||
name: Apollo Unit Tests - macOS | ||
run-js-tests: false | ||
should-run: ${{ needs.changes.outputs.ios }} | ||
# Codegen CLI Test | ||
- destination: platform=macOS,arch=x86_64 | ||
scheme: CodegenCLITests | ||
test-plan: CodegenCLITestPlan | ||
name: Codegen CLI Unit Tests - macOS | ||
run-js-tests: false | ||
should-run: ${{ needs.changes.outputs.codegen }} | ||
# CodegenLib Test | ||
- destination: platform=macOS,arch=x86_64 | ||
scheme: ApolloCodegenTests | ||
test-plan: Apollo-Codegen-CITestPlan | ||
name: Codegen Lib Unit Tests - macOS | ||
run-js-tests: true | ||
should-run: ${{ needs.changes.outputs.codegen }} | ||
# ApolloPagination Tests | ||
- destination: platform=macOS,arch=x86_64 | ||
scheme: ApolloPaginationTests | ||
test-plan: Apollo-PaginationTestPlan | ||
name: ApolloPagination Unit Tests - macOS | ||
run-js-tests: false | ||
should-run: ${{ needs.changes.outputs.pagination }} | ||
name: ${{ matrix.name }} | ||
steps: | ||
- uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: ${{ env.XCODE_VERSION }} | ||
- name: Checkout Repo | ||
uses: actions/checkout@v3 | ||
- name: Retrieve Build Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
./ApolloDev.xcodeproj | ||
./ApolloDev.xcworkspace | ||
./Derived/* | ||
key: ${{ github.run_id }}-dependencies | ||
fail-on-cache-miss: true | ||
# Caching for apollo-ios and apollo-ios-codegen SPM dependencies | ||
# - uses: actions/cache@v3 | ||
# with: | ||
# path: ./DerivedData/SourcePackages | ||
# key: ${{ runner.os }}-spm-${{ hashFiles('./apollo-ios/Package.resolved') }}-${{ hashFiles('./apollo-ios-codegen/Package.resolved') }} | ||
# - name: Run Tuist Generation | ||
# uses: tuist/[email protected] | ||
# with: | ||
# command: 'generate' | ||
# arguments: '' | ||
- name: Build and Test | ||
if: ${{ matrix.should-run == true || matrix.should-run == 'true' }} | ||
id: build-and-test | ||
uses: ./.github/actions/build-and-run-unit-tests | ||
with: | ||
destination: ${{ matrix.destination }} | ||
scheme: ${{ matrix.scheme }} | ||
test-plan: ${{ matrix.test-plan }} | ||
- name: Run-JS-Tests | ||
if: ${{ matrix.run-js-tests == true }} | ||
shell: bash | ||
working-directory: apollo-ios-codegen/Sources/GraphQLCompiler/JavaScript/ | ||
run: | | ||
npm install && npm test | ||
- name: Save xcodebuild logs | ||
if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.name }}-logs | ||
path: | | ||
DerivedData/Logs/Build | ||
- name: Save crash logs | ||
if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.name }}-crashes | ||
path: | | ||
~/Library/Logs/DiagnosticReports | ||
- name: Zip Result Bundle | ||
if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
shell: bash | ||
working-directory: TestResults | ||
run: | | ||
zip -r ResultBundle.zip ResultBundle.xcresult | ||
- name: Save test results | ||
if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.name }}-results | ||
path: | | ||
TestResults/ResultBundle.zip | ||
# build-and-unit-test: | ||
# runs-on: macos-latest | ||
# needs: [tuist-generation, changes] | ||
# timeout-minutes: 20 | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# include: | ||
# # macOS_current | ||
# - destination: platform=macOS,arch=x86_64 | ||
# scheme: ApolloTests | ||
# test-plan: Apollo-CITestPlan | ||
# name: Apollo Unit Tests - macOS | ||
# run-js-tests: false | ||
# should-run: ${{ needs.changes.outputs.ios }} | ||
# # Codegen CLI Test | ||
# - destination: platform=macOS,arch=x86_64 | ||
# scheme: CodegenCLITests | ||
# test-plan: CodegenCLITestPlan | ||
# name: Codegen CLI Unit Tests - macOS | ||
# run-js-tests: false | ||
# should-run: ${{ needs.changes.outputs.codegen }} | ||
# # CodegenLib Test | ||
# - destination: platform=macOS,arch=x86_64 | ||
# scheme: ApolloCodegenTests | ||
# test-plan: Apollo-Codegen-CITestPlan | ||
# name: Codegen Lib Unit Tests - macOS | ||
# run-js-tests: true | ||
# should-run: ${{ needs.changes.outputs.codegen }} | ||
# # ApolloPagination Tests | ||
# - destination: platform=macOS,arch=x86_64 | ||
# scheme: ApolloPaginationTests | ||
# test-plan: Apollo-PaginationTestPlan | ||
# name: ApolloPagination Unit Tests - macOS | ||
# run-js-tests: false | ||
# should-run: ${{ needs.changes.outputs.pagination }} | ||
# name: ${{ matrix.name }} | ||
# steps: | ||
# - uses: maxim-lobanov/setup-xcode@v1 | ||
# with: | ||
# xcode-version: ${{ env.XCODE_VERSION }} | ||
# - name: Checkout Repo | ||
# uses: actions/checkout@v3 | ||
# - name: Retrieve Build Cache | ||
# uses: actions/cache@v3 | ||
# with: | ||
# path: | | ||
# ./ApolloDev.xcodeproj | ||
# ./ApolloDev.xcworkspace | ||
# ./Derived/* | ||
# key: ${{ github.run_id }}-dependencies | ||
# fail-on-cache-miss: true | ||
# # Caching for apollo-ios and apollo-ios-codegen SPM dependencies | ||
# # - uses: actions/cache@v3 | ||
# # with: | ||
# # path: ./DerivedData/SourcePackages | ||
# # key: ${{ runner.os }}-spm-${{ hashFiles('./apollo-ios/Package.resolved') }}-${{ hashFiles('./apollo-ios-codegen/Package.resolved') }} | ||
# # - name: Run Tuist Generation | ||
# # uses: tuist/[email protected] | ||
# # with: | ||
# # command: 'generate' | ||
# # arguments: '' | ||
# - name: Build and Test | ||
# if: ${{ matrix.should-run == true || matrix.should-run == 'true' }} | ||
# id: build-and-test | ||
# uses: ./.github/actions/build-and-run-unit-tests | ||
# with: | ||
# destination: ${{ matrix.destination }} | ||
# scheme: ${{ matrix.scheme }} | ||
# test-plan: ${{ matrix.test-plan }} | ||
# - name: Run-JS-Tests | ||
# if: ${{ matrix.run-js-tests == true }} | ||
# shell: bash | ||
# working-directory: apollo-ios-codegen/Sources/GraphQLCompiler/JavaScript/ | ||
# run: | | ||
# npm install && npm test | ||
# - name: Save xcodebuild logs | ||
# if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
# uses: actions/upload-artifact@v3 | ||
# with: | ||
# name: ${{ matrix.name }}-logs | ||
# path: | | ||
# DerivedData/Logs/Build | ||
# - name: Save crash logs | ||
# if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
# uses: actions/upload-artifact@v3 | ||
# with: | ||
# name: ${{ matrix.name }}-crashes | ||
# path: | | ||
# ~/Library/Logs/DiagnosticReports | ||
# - name: Zip Result Bundle | ||
# if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
# shell: bash | ||
# working-directory: TestResults | ||
# run: | | ||
# zip -r ResultBundle.zip ResultBundle.xcresult | ||
# - name: Save test results | ||
# if: ${{ steps.build-and-test.outcome != 'skipped' }} | ||
# uses: actions/upload-artifact@v3 | ||
# with: | ||
# name: ${{ matrix.name }}-results | ||
# path: | | ||
# TestResults/ResultBundle.zip | ||
|
||
run-codegen-test-configurations: | ||
runs-on: macos-latest | ||
timeout-minutes: 20 | ||
name: Codegen Test Configurations - macOS | ||
steps: | ||
- uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: ${{ env.XCODE_VERSION }} | ||
- name: Checkout Repo | ||
uses: actions/checkout@v3 | ||
- name: Test Codegen Configurations | ||
shell: bash | ||
run: | | ||
./scripts/run-test-codegen-configurations.sh -t | ||
# CodegenTestConfigurations removed because source is not compatible with Sendable yet. | ||
|
||
verify-frontend-bundle-latest: | ||
runs-on: macos-latest | ||
|
@@ -259,76 +247,4 @@ jobs: | |
id: run-cocoapods-integration-tests | ||
uses: ./.github/actions/run-cocoapods-integration-tests | ||
|
||
run-integration-tests: | ||
runs-on: macos-13 | ||
needs: [tuist-generation, changes] | ||
if: ${{ needs.changes.outputs.ios == 'true' }} | ||
timeout-minutes: 20 | ||
name: Apollo Integration Tests - macOS | ||
steps: | ||
- uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: 15.2 | ||
- name: Checkout Repo | ||
uses: actions/checkout@v3 | ||
- name: Setup Node 12.22.10 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 12.22.10 | ||
- name: Setup Upload Server | ||
shell: bash | ||
run: | | ||
sudo chmod -R +rwx SimpleUploadServer | ||
cd SimpleUploadServer && npm install && npm start & | ||
- name: Setup Node 18.15.0 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18.15.0 | ||
- name: Setup Subscription Server | ||
shell: bash | ||
run: | | ||
sh ./scripts/install-apollo-server-docs-example-server.sh | ||
cd ../docs-examples/apollo-server/v3/subscriptions-graphql-ws && npm start & | ||
- name: Setup Star Wars Server | ||
shell: bash | ||
run: | | ||
sh ./scripts/install-or-update-starwars-server.sh | ||
cd ../starwars-server && npm start & | ||
- name: Retrieve Build Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
./ApolloDev.xcodeproj | ||
./ApolloDev.xcworkspace | ||
./Derived/* | ||
key: ${{ github.run_id }}-dependencies | ||
fail-on-cache-miss: true | ||
- name: Build and Test | ||
uses: ./.github/actions/build-and-run-unit-tests | ||
with: | ||
destination: platform=macOS,arch=x86_64 | ||
scheme: ApolloServerIntegrationTests | ||
test-plan: Apollo-IntegrationTestPlan | ||
- name: Save xcodebuild logs | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: macOS-Integration-logs | ||
path: | | ||
DerivedData/Logs/Build | ||
- name: Save crash logs | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: macOS-Integration-crashes | ||
path: | | ||
~/Library/Logs/DiagnosticReports | ||
- name: Zip Result Bundle | ||
shell: bash | ||
working-directory: TestResults | ||
run: | | ||
zip -r ResultBundle.zip ResultBundle.xcresult | ||
- name: Save test results | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: macOS-Integration-results | ||
path: | | ||
TestResults/ResultBundle.zip | ||
# IntegrationTests removed because source is not compatible with Sendable yet. |