Skip to content

Codex - 5.3 [high] - vanilla setup #2

Codex - 5.3 [high] - vanilla setup

Codex - 5.3 [high] - vanilla setup #2

### PR Integrations Workflow ###
#
# This workflow runs on pull requests and performs:
# - Danger checks
# - Unit Tests
# - Snapshot Tests
#
# Authentication:
# - `github.token` is automatically provided by GitHub.
#
# Notes:
# - To enable Fastlane tests, ensure `CommonFastfile` is imported in your Fastfile
# from the shared ios-fastlane repository.
# - By default, this workflow runs on every PR change. Be mindful of costs when
# using macos-latest. It can also be triggered manually in GitHub.
# - See more trigger options: https://help.github.com/en/actions/reference/events-that-trigger-workflows
#
# File: .github/workflows/pr-integrations.yml
name: Integrations (PR)
on:
workflow_dispatch:
pull_request:
types: [opened, edited, reopened, synchronize, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# Common environment variables available to all jobs
env:
WORKSPACE: ChemexTimer.xcworkspace
TEST_SCHEME: ChemexTimer
DEVICES: "iPhone 13 Pro"
jobs:
# Quality Checks (Danger) Job
quality-checks:
name: Quality Checks
runs-on: [self-hosted, macOS, mobile-ci]
if: github.event.pull_request.draft == false
timeout-minutes: 20
steps:
# Checkout the Project Repository
- name: Checkout
uses: actions/checkout@v4
# Istall Mise (Dev env setup tool)
- name: Install Mise
uses: jdx/mise-action@v2
with:
install: true
cache: false # change to true when running on macos-latest instead of self-hosted
experimental: true
# Cache Dependencies
- name: Cache Dependencies
uses: ./.github/actions/cache-dependencies
# Install dependencies (run install script)
- name: Install Dependencies
run: ./setup.swift install
working-directory: iOS
# uncomment if you are using SwiftLint via SPM plugin
# Set SwiftLint version for Danger
# - name: Set SwiftLint version
# run: echo "SWIFTLINT_VERSION=$(cat ./.swiftlint-version)" >> $GITHUB_ENV
# Run Danger
- name: Run Danger
run: bundle exec danger --fail-on-errors=true
working-directory: iOS
env:
GITHUB_TOKEN: ${{ github.token }}
# Unit Tests Job
unit-tests:
name: Unit Tests
runs-on: [self-hosted, macOS, mobile-ci]
if: github.event.pull_request.draft == false
timeout-minutes: 20
steps:
# Checkout the Project Repository
- name: Checkout
uses: actions/checkout@v4
# Istall Mise (Dev env setup tool)
- name: Install Mise
uses: jdx/mise-action@v2
with:
install: true
cache: false # change to true when running on macos-latest instead of self-hosted
experimental: true
# Cache dependencies
- name: Cache Dependencies
uses: ./.github/actions/cache-dependencies
# Install dependencies (run install script)
- name: Install Dependencies
run: ./setup.swift install
working-directory: iOS
# Run Unit Tests
- name: Run Unit Tests
run: bundle exec fastlane tests without_dependencies:true
working-directory: iOS
env:
TEST_PLAN: UnitTestPlan
# Snapshot Tests Job
snapshot-tests:
name: Snapshot Tests
runs-on: [self-hosted, macOS, mobile-ci]
if: github.event.pull_request.draft == false
timeout-minutes: 20
continue-on-error: false # <-- red ❌ on failure (still non-blocking)
steps:
# Checkout the Project Repository
- name: Checkout
uses: actions/checkout@v4
# Istall Mise (Dev env setup tool)
- name: Install Mise
uses: jdx/mise-action@v2
with:
install: true
cache: false # change to true when running on macos-latest instead of self-hosted
experimental: true
# Cache dependencies
- name: Cache Dependencies
uses: ./.github/actions/cache-dependencies
# Install dependencies (run install script)
- name: Install Dependencies
run: ./setup.swift install
working-directory: iOS
# Run Snapshots Tests
- name: Run Snapshot tests
run: bundle exec fastlane tests without_dependencies:true
working-directory: iOS
env:
TEST_PLAN: SnapshotTestPlan