# GitHub による継続的インテグレーション

Site [llms.txt](/ja/llms.txt)

---

Artefacts クラウドシミュレーションは、新しいコードがリポジトリにプッシュされたときにテストジョブを実行できます。そのためには、お好みの CI ツールで `run-remote` をトリガーするだけです。

結果は他のジョブと同様にダッシュボードに表示されます。GitHub によってトリガーされたジョブには、コミット ID などの追加メタデータが含まれています。

継続的インテグレーションジョブの実行に問題がある場合は、まず [ローカルでテストを実行](/user-guide/tracking) し、次に [the tests can run on artefacts cloud](/user-guide/cloud-simulation) を確認して、テストとパッケージが正しく動作していることを確認してください。

## Artefacts GitHubアクション

GitHub CI ワークフローの一部として Artefacts クラウドシミュレーションを統合したい方は、GitHub ワークフローに `art-e-fact/action-artefacts-ci@main` アクションを追加できます。このアクションには Python が必要であり、実行するためには（ダッシュボードから作成できる）Artefacts API キーも必要です。 

基本的な例を以下に示します：

```yaml
name: test
on: push
  
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.11]

    steps:
      - uses: actions/checkout@v3

      - name: Set Up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}

      - uses: art-e-fact/action-artefacts-ci@main
        with:
          artefacts-api-key: ${{ secrets.ARTEFACTS_API_KEY }}
          job-name: test_job
```

* `artefacts-api-key`: 特定のプロジェクト用にダッシュボードで作成されます。
* `job-name`:  `artefacts.yaml` ファイルで実行したいジョブと一致する必要があります。
      
GitHub アクションは、プロジェクトの実行に必要な追加リポジトリがある場合に特に便利です。以下のアクションを使用して、Artefacts クラウドシミュレーションを実行する前にそのリポジトリをプロジェクトにクローンできます：
```yaml
- name: Clone My Repo
  uses: actions/checkout@v3
  with:
    repository: my-org/my-repo
    token: ${{ secrets.MYREPO_PAT }} # if cloning a private repository
    path: my-repo
    ref: main
```
