chore(deps): bump docker/build-push-action from 6 to 7 #89
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| # Docs/markdown-only commits don't affect the Go bridge or the iOS build, so | |
| # skip the whole pipeline (incl. the ~10x-priced macOS build job) for them. | |
| # NOTE: none of these jobs are required status checks yet. If you later enable | |
| # branch protection requiring "Build & Test", replace paths-ignore with a | |
| # per-job changed-files gate (dorny/paths-filter) so PRs don't hang waiting | |
| # on a check that was skipped. | |
| paths-ignore: | |
| - "**/*.md" | |
| - "docs/**" | |
| pull_request: | |
| branches: [main] | |
| paths-ignore: | |
| - "**/*.md" | |
| - "docs/**" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| go-tests: | |
| name: Go Tests | |
| runs-on: ubuntu-latest # pure-Go bridge suite; needs no macOS/Xcode | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go/go.mod | |
| cache-dependency-path: go/go.sum | |
| - name: Patch vendored dependencies | |
| working-directory: go | |
| run: make patch | |
| - name: Run Go tests | |
| working-directory: go | |
| # The status/event schema regression tests (Phase 1/3 fields, folder | |
| # error details) live in ./bridge and run as part of this package — no | |
| # separate runner needed. | |
| run: go test -tags noassets ./bridge -count=1 | |
| notify-tests: | |
| name: Notify Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: notify/go.mod | |
| - name: Run notify smoke tests | |
| working-directory: notify | |
| run: go test ./... -count=1 | |
| build: | |
| name: Build & Test | |
| runs-on: macos-26 # Xcode 26.2 default, iOS 26 SDK required for BGContinuedProcessingTask | |
| timeout-minutes: 45 # guard against a hung simulator/xcodebuild burning 10x macOS minutes | |
| needs: | |
| - go-tests | |
| - notify-tests | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go/go.mod | |
| cache-dependency-path: go/go.sum | |
| - name: Cache gomobile toolchain | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/go/bin/gomobile | |
| ~/go/bin/gobind | |
| key: gomobile-${{ runner.os }}-3a7bc9f8a4de | |
| - name: Install gomobile | |
| run: | | |
| command -v gomobile >/dev/null || go install golang.org/x/mobile/cmd/gomobile@v0.0.0-20250305212854-3a7bc9f8a4de | |
| command -v gobind >/dev/null || go install golang.org/x/mobile/cmd/gobind@v0.0.0-20250305212854-3a7bc9f8a4de | |
| gomobile init | |
| - name: Patch vendored dependencies | |
| working-directory: go | |
| run: make patch | |
| - name: Build xcframework | |
| working-directory: go | |
| run: make xcframework | |
| - name: Install XcodeGen | |
| run: brew install xcodegen | |
| - name: Generate Xcode project | |
| working-directory: ios | |
| run: xcodegen generate | |
| - name: List available simulators | |
| run: xcrun simctl list devices available | |
| - name: Build & Test | |
| working-directory: ios | |
| run: | | |
| xcodebuild build test \ | |
| -project VaultSync.xcodeproj \ | |
| -scheme VaultSync \ | |
| -destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=latest' \ | |
| -quiet |