Lewati ke konten utama

F3 · Modul 14

CI dengan GitHub Actions

42 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. 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: atau run:); status mengalir lewat kode keluar.
  • Runner menyisipkan ${{ }} sebagai teks lalu menjalankan bash -e tanpa pipefail: tulis shell: bash, dan teruskan teks dari luar lewat env:.
  • 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