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.
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.