Railway では Git で自分が取り組んだ内容を記録するときに、自動でテストが実行されます。この際、Station の内容に即した実装になっているかを最低限のラインとして確認します。 テストが通れば Station クリアとなります。 クリア後、TechTrain の画面に戻り、クリアになっているかを確認してみてください。
本Railwayでは以下のバージョンを想定しています。
言語、フレームワークなど | バージョン |
---|---|
Swift | 5.0 |
ツール名 | バージョン |
---|---|
Xcode | 15.0以降 |
xcpretty | 0.3.0以降 |
Node.js | v20.0.0以降(20.11.1 (LTS)を推奨します。) |
Yarn | 1.*系 |
バージョンが異なる場合、動作しない場合があります。
Stationのクリア判定にxcprettyというライブラリを使用します。
gem
コマンドでxcpretty
をインストールしてください。
$ gem install xcpretty
gem
コマンドの実行でエラーが出る場合は、Rubyが正しくインストールされてパスが通っていること、Homebrewを使用している場合は正しく構成されていることを確認してください。
次の手順で取り組み始めてください。
画面右上にあるForkよりiOS Railwayのリポジトリを自分のアカウントにForkしてください。
Forkしたリポジトリを作業するディレクトリにクローンしましょう。
- Terminal.app(iTerm2などでも良い)
で作業するディレクトリを開き、次のコマンドでForkしたiOS Railwayのリポジトリをローカルにクローンしてください。
git clone https://github.com/[GitHubのユーザー名]/ios-stations.git
SSHでクローンを行う場合には、次のようになります
git clone [email protected]:[GitHubのユーザー名]/ios-stations.git
GitHubのIDがSuguruOokiだとしたら、例としては次のようになります。
[email protected]:SuguruOoki/ios-stations.git
(すでにインストール済みの方は、この手順を飛ばしてください。)
Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
インストールされたかどうかを確認するには、Terminal.app を開いて
brew -v
を実行してください。インストール済みであれば次のような表示になるはずです。
何か起こった際には次の公式サイトを確認してください。
Homebrew を使って、 Node.js をインストールします。 Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。
brew install node
インストールされたかどうかを確認するには、Terminal.app を開いて
node -v
を実行してください。インストール済みであれば次のような表示になるはずです。
v から先は、インストールしたNode.jsのバージョンが表示されます。上記画像の表示と全く同じバージョンでなくても大丈夫です。
Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。
brew install yarn
インストールされたかどうかを確認するには、Terminal.app を開いて
yarn -v
を実行してください。インストール済みであれば次のような表示になるはずです。
ios-station
ディレクトリ内で
yarn install
を実行してください。
こちらでTechTrainのログインを求められますので、メールアドレスとパスワードを入れてログインしましょう。 GitHubでサインアップした方は、こちらからパスワードの再発行より、パスワードを発行して、そのパスワードでログインしてください。
Stationの問題は、TechTrainの画面で確認してください。
Forkしたリポジトリは、Fork元のリポジトリの状態を自動的に反映してくれません。 Stationの問題やエラーの修正などがなされておらず、自分で更新をする必要があります。 何かエラーが出た、または運営から親リポジトリを更新してくださいと伝えられた際には、こちらを試してみてください。
# こちらは、自分でクローンした[GitHubユーザー名]/ios-stationsの作業ディレクトリを前提としてコマンドを用意しています。
# 自分が何か変更した内容があれば、 stash した後に実行してください。
git remote add upstream [email protected]:TechBowl-japan/ios-stations.git
git fetch upstream
これらのコマンドを実行後にうまくいっていれば、次のような表示が含まれています。
git branch -a ←このコマンドを実行
* master
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/upstream/main ←こちらのような upstream という文字が含まれた表示の行があれば成功です。
こちらで自分のリポジトリを TechBowl-japan/ios-stations の最新の状態と合わせるための準備は終了です。
# 自分の変更の状態を stash した上で次のコマンドを実行してください。
# ↓main ブランチに移動するコマンド
git checkout main
# ↓ TechBowl-japan/ios-stations の最新の状態をオンラインから取得
git fetch upstream
# ↓ 最新の状態を自分のリポジトリに入れてローカルの状態も最新へ
git merge upstream/main
git push
クリア判定のテスト実行については、PCの性能にもよりますが通常1分以内に終わります。
もし数分以上待ってもテストの実行が終わらない場合は、なんらかのキャッシュやプロセスが影響している可能性があるため、PCを再起動するといった対応を行ってください。