GithubHelp home page GithubHelp logo

ios-stations's Introduction

TechTrain iOS Railway について

Railway では Git で自分が取り組んだ内容を記録するときに、自動でテストが実行されます。この際、Station の内容に即した実装になっているかを最低限のラインとして確認します。 テストが通れば Station クリアとなります。 クリア後、TechTrain の画面に戻り、クリアになっているかを確認してみてください。

バージョン情報

本Railwayでは以下のバージョンを想定しています。

言語、フレームワークなど バージョン
Swift 5.0

初期設定

必要なツール

ツール名 バージョン
Xcode 12.5.1以降
xcpretty 0.3.0以降
Node.js v14.17.0以降(v16.0.0以降を推奨します。)
Yarn 1.*系

バージョンが異なる場合、動作しない場合があります。

xcprettyのインストール

Stationのクリア判定にxcprettyというライブラリを使用します。 gemコマンドでxcprettyをインストールしてください。

$ gem install xcpretty

gemコマンドの実行でエラーが出る場合は、Rubyが正しくインストールされてパスが通っていること、Homebrewを使用している場合は正しく構成されていることを確認してください。

必要なツールがインストール済みの場合

次の手順で取り組み始めてください。

ios-stationsリポジトリのFork

画面右上にあるForkよりiOS Railwayのリポジトリを自分のアカウントにForkしてください。

ios-stationsリポジトリのクローン

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

初期設定

1. Homebrew のインストール

(すでにインストール済みの方は、この手順を飛ばしてください。)

Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールされたかどうかを確認するには、Terminal.app を開いて

brew -v

を実行してください。インストール済みであれば次のような表示になるはずです。

スクリーンショット 2021-04-25 15 42 19

何か起こった際には次の公式サイトを確認してください。

https://brew.sh/index_ja

2. Node.js のインストール

Homebrew を使って、 Node.js をインストールします。 Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。

brew install node

インストールされたかどうかを確認するには、Terminal.app を開いて

node -v

を実行してください。インストール済みであれば次のような表示になるはずです。

スクリーンショット 2021-04-25 16 18 23

v から先は、インストールしたNode.jsのバージョンが表示されます。上記画像の表示と全く同じバージョンでなくても大丈夫です。

3. Yarn のインストール

Terminal.app を開き、次のコマンドをコピーアンドペーストで実行してください。

brew install yarn

インストールされたかどうかを確認するには、Terminal.app を開いて

yarn -v

を実行してください。インストール済みであれば次のような表示になるはずです。

スクリーンショット 2021-04-25 15 44 21

Yarn による環境設定の実行

ios-stationディレクトリ内で

yarn install

を実行してください。

こちらでTechTrainのログインを求められますので、メールアドレスとパスワードを入れてログインしましょう。 GitHubでサインアップした方は、こちらからパスワードの再発行より、パスワードを発行して、そのパスワードでログインしてください。

Stationの問題は、TechTrainの画面で確認してください。

自分のリポジトリの状態を最新の TechBowl-japan/ios-stations と合わせる

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を再起動するといった対応を行ってください。

ios-stations's People

Contributors

kara9renai avatar suguruooki avatar 3c1u avatar kentya6 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.