Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic GitHub Actions project setup #6

Merged
merged 32 commits into from
Oct 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c2e83c4
Create ios.yml
aokj4ck Oct 11, 2024
2770bd5
Rewrite basic GHA to run fastlane tests, add gh to brewfile
aokj4ck Oct 11, 2024
4b3f38b
Change macOS image to macos-15-arm64 for Xcode 16
aokj4ck Oct 12, 2024
478adbf
Add GitHub Action to report passing/failing status of iOS-Test-Suite …
aokj4ck Oct 12, 2024
b4ecb63
Fix GHA runner-image YAML label
aokj4ck Oct 12, 2024
18b6189
Debug: list simulators available
aokj4ck Oct 12, 2024
dba1271
Restore fastlane ios tests command
aokj4ck Oct 12, 2024
b05d687
Add BikeIndex-development.xcconfig configuration for running tests
aokj4ck Oct 12, 2024
0afa6b8
Start CI fresh
aokj4ck Oct 12, 2024
c5ca7c3
Adjust source of env secrets
aokj4ck Oct 12, 2024
571ffa9
Remove (18.0) from device identifiers
aokj4ck Oct 12, 2024
26692c1
Change GHA variables to vars. syntax
aokj4ck Oct 12, 2024
9aa5682
Fix API_SECRET variable reference
aokj4ck Oct 12, 2024
bdb5629
Upload xcconfig output artifact to debug
aokj4ck Oct 12, 2024
a16c079
Try out alternate syntax for reading vars and secrets
aokj4ck Oct 12, 2024
0aa5e2a
Try with artifact
aokj4ck Oct 12, 2024
26d7f40
Restore earlier syntax
aokj4ck Oct 12, 2024
97fa972
Try combined repository secret
aokj4ck Oct 12, 2024
adb0acb
TRYFIX: Attempt to add fastlane xcresult to upload-artifacts
aokj4ck Oct 13, 2024
4b8a1c4
Rename upload-artifact to Upload xcresult
aokj4ck Oct 13, 2024
6170900
Fix link between upload-xcresult and xcresult_path
aokj4ck Oct 13, 2024
5e426c4
Fix syntax
aokj4ck Oct 13, 2024
9e0321d
Add in-step XCRESULT_PATH output for validation, add step to print ou…
aokj4ck Oct 13, 2024
4e25583
Split tests and lane_context commands into separate steps
aokj4ck Oct 13, 2024
d6173ef
Fix xcresult upload by using local directory constant
aokj4ck Oct 13, 2024
12b5ec2
Fix uses: actions/upload-artifact syntax
aokj4ck Oct 13, 2024
14a3e58
Change artifact path to whole directory
aokj4ck Oct 13, 2024
3723a45
Change upload-artifact to wildcard
aokj4ck Oct 13, 2024
6033269
pwd
aokj4ck Oct 13, 2024
8a39539
Add always directive to reporting steps
aokj4ck Oct 13, 2024
05be539
Clean up pwd command, rename test_output
aokj4ck Oct 13, 2024
9772da8
Fix simulator OS version configurations
aokj4ck Oct 13, 2024
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
35 changes: 35 additions & 0 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: iOS Test Suite

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:
name: Run tests with fastlane
runs-on: macos-15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install tools
run: |
brew bundle install
bundler install
- name: Set up xcconfig secrets (see README.md#quick-start)
env:
BIKE_INDEX_DEVELOPMENT_XCCONFIG: ${{ secrets.BIKE_INDEX_DEVELOPMENT_XCCONFIG }}
run: |
echo "$BIKE_INDEX_DEVELOPMENT_XCCONFIG" >> BikeIndex-development.xcconfig
- name: List available simulators
run: xcodebuild -scheme Debug\ \(development\) -project BikeIndex.xcodeproj -showdestinations
- name: Run tests
id: fastlane-ios-tests
run: bundle exec fastlane ios tests
- uses: actions/upload-artifact@v4
if: always()
with:
name: test_output.zip
path: "fastlane/test_output/*"
compression-level: 9 # maximum compression
1 change: 1 addition & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tap "homebrew/bundle"
brew "rbenv"
brew "ruby-build"
brew "gh"
47 changes: 43 additions & 4 deletions Brewfile.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"entries": {
"tap": {
"homebrew/bundle": {
"revision": "b1f54020a4b7ac0df4477896b7af155b18abf030"
"revision": "836b67f84a21deec9016253f41f994c2a98cea15"
}
},
"brew": {
Expand All @@ -21,15 +21,54 @@
}
},
"ruby-build": {
"version": "20240917",
"version": "20241007",
"bottle": {
"rebuild": 0,
"root_url": "https://ghcr.io/v2/homebrew/core",
"files": {
"all": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/ruby-build/blobs/sha256:a69d04a25971f1f19d4cc2893adafc60e472dbb2fca2799ebf6de25d2e5e1658",
"sha256": "a69d04a25971f1f19d4cc2893adafc60e472dbb2fca2799ebf6de25d2e5e1658"
"url": "https://ghcr.io/v2/homebrew/core/ruby-build/blobs/sha256:545ae4c7dcb39bbc6a964a4d81c0ed2e5f0c78455a265ebcb5ce9b831cf60149",
"sha256": "545ae4c7dcb39bbc6a964a4d81c0ed2e5f0c78455a265ebcb5ce9b831cf60149"
}
}
}
},
"gh": {
"version": "2.58.0",
"bottle": {
"rebuild": 0,
"root_url": "https://ghcr.io/v2/homebrew/core",
"files": {
"arm64_sequoia": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3",
"sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3"
},
"arm64_sonoma": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3",
"sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3"
},
"arm64_ventura": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3",
"sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3"
},
"sonoma": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:8b8a4655d289d7cef3471bb479dcf1bd3665440c3c9fa4412ac5f6e02450f849",
"sha256": "8b8a4655d289d7cef3471bb479dcf1bd3665440c3c9fa4412ac5f6e02450f849"
},
"ventura": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:c98643a52ed2ea1afab0bea2c4168b1d045bd21b2eef22c68e5706de7dc59c81",
"sha256": "c98643a52ed2ea1afab0bea2c4168b1d045bd21b2eef22c68e5706de7dc59c81"
},
"x86_64_linux": {
"cellar": ":any_skip_relocation",
"url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:9b9c42f277d56692ac8a13af727eb71b6ad912c58700f0646d1e3a233586bba6",
"sha256": "9b9c42f277d56692ac8a13af727eb71b6ad912c58700f0646d1e3a233586bba6"
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Bike Index

![GitHub License](https://img.shields.io/github/license/bikeindex/bike_index_ios)
![GitHub License](https://img.shields.io/github/license/bikeindex/bike_index_ios) | [![iOS Test Suite](https://github.com/bikeindex/bike_index_ios/actions/workflows/ios.yml/badge.svg)](https://github.com/bikeindex/bike_index_ios/actions/workflows/ios.yml)

> [!IMPORTANT]
> This project is incomplete and under active development.
> No guarantees are provided.

iOS client for bikeindex.org
iOS client for [bikeindex.org](https://bikeindex.org)

## Quick Start

Expand Down
7 changes: 4 additions & 3 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ platform :ios do
desc "Run unit tests"
lane :tests do
run_tests(project: "BikeIndex.xcodeproj",
devices: ["iPhone 16", "iPhone 16 Plus",
"iPad (10th generation)"],
scheme: "Debug (development)")
devices: ["iPhone 16 (18.0)", "iPhone 16 Plus (18.0)",
"iPad (10th generation) (18.0)"],
scheme: "Debug (development)",
result_bundle: true)
end
end
Loading