Study
Foundry

Integrasi CI Dasar

Penjelasan

Menjalankan test otomatis setiap ada perubahan kode adalah praktik standar untuk menjaga kualitas smart contract sebelum di-merge atau di-deploy. Foundry menyediakan GitHub Action resmi (`foundry-toolchain`) yang memasang forge/cast/anvil di runner CI, sehingga workflow bisa langsung menjalankan `forge build` dan `forge test` seperti di komputer lokal. Workflow CI umumnya juga menyertakan pengecekan format (`forge fmt --check`) dan gas snapshot (`forge snapshot --check`) untuk mendeteksi perubahan konsumsi gas yang tidak disengaja dibanding baseline yang sudah disepakati tim.

Contoh Konsep

# .github/workflows/test.yml
name: Foundry CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Install Foundry
        uses: foundry-rs/foundry-toolchain@v1

      - name: Run Build
        run: forge build

      - name: Run Tests
        run: forge test -vvv

Praktikum

Buat file workflow GitHub Actions untuk project Foundry-mu yang menjalankan forge build dan forge test setiap ada push ke branch main.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Selalu tambahkan `submodules: recursive` pada step checkout CI — dependency Foundry ada di git submodule, kalau lupa flag ini build CI akan gagal karena folder lib/ kosong.