F3 · Modul 14
CI dengan GitHub Actions
42 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- CI menjalankan pemeriksaan yang sama di mesin bersih pada setiap push dan PR; bila menjadi syarat penggabungan, ia tidak bisa dilewati seperti hook lokal.
- Workflow: peristiwa (
on) → job paralel, masing-masing di runner sendiri → step berurutan (uses:ataurun:); status mengalir lewat kode keluar. - Runner menyisipkan
${{ }}sebagai teks lalu menjalankanbash -etanpapipefail: tulisshell: bash, dan teruskan teks dari luar lewatenv:. - Setiap job dibulatkan ke atas ke menit penuh. Hemat dengan filter jalur,
concurrency,timeout-minutes, matrix seperlunya, dan PR draft, sambil ingat bahwa workflow yang dilewati tidak melaporkan status.
Sebelum mulai
±4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menjelaskan integrasi berkelanjutan (CI) dan kenapa pemeriksaan harus berjalan di mesin bersih; membaca dan menulis workflow GitHub Actions (on, filter cabang dan jalur, jobs, steps, runs-on, uses/run, needs, if, matrix, cache, artefak, permissions, rahasia, concurrency, timeout-minutes); menghindari jebakan YAML (on menjadi True, 3.10 menjadi 3.1, TAB); menjelaskan cara runner menjalankan langkah (shell bawaan bash -e tanpa pipefail, berkas GITHUB_OUTPUT dan GITHUB_STEP_SUMMARY, ekspresi ${{ }} yang disisipkan sebelum shell berjalan); menghitung menit tertagih dan menghemat kuota dengan filter jalur, concurrency, [skip ci], dan PR draft; dan menulis .github/workflows/ci.yml untuk perkakas.
Proyek: Perkakas Makmur langkah 14: .github/workflows/ci.yml yang menjalankan ShellCheck, tes Python, dan analisis_log.sh pada data contoh, dengan filter jalur, concurrency, dan batas waktu (kontrak proyek).
Istilah di modul ini (39)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 2 contoh kode
- 8 berkas latihan + tes
- 1 berkas data
Lihat isi zip
- BACA-DULU.txt
- ci.yml
- analisis_log.sh
- harapan-akses.txt
- contoh_f3_14_126.py
- contoh_f3_14_1227.py
- test_f3_14_4.py
- test_f3_14_7.py
- test_f3_14_2.py
- test_f3_14_3.py
- test_f3_14_5.py
- test_f3_14_8.py
- test_f3_14_1.py
- test_f3_14_6.py
- akses.log