Skip to content

Lab 3 - T.Shekhmametyev#1036

Open
Littlepr1nce wants to merge 15 commits into
inno-devops-labs:mainfrom
Littlepr1nce:feature/lab3
Open

Lab 3 - T.Shekhmametyev#1036
Littlepr1nce wants to merge 15 commits into
inno-devops-labs:mainfrom
Littlepr1nce:feature/lab3

Conversation

@Littlepr1nce

Copy link
Copy Markdown

Goal

Implement a PR-gated CI pipeline for QuickNotes using GitHub Actions with caching, build matrix, path filtering and pipeline optimizations.

Changes

  • Added .github/workflows/ci.yml with three independent jobs: vet, test and lint
  • Set permissions: contents: read following the least privilege principle
  • Pinned the runner to ubuntu-24.04
  • Pinned all third-party GitHub Actions by full SHA
  • Enabled Go caching via actions/setup-go
  • Added a build matrix for Go 1.23 and 1.24 with fail-fast: false
  • Added path filters to skip CI for documentation-only changes
  • Added bonus optimizations: concurrency, GOFLAGS=-buildvcs=false and timeout-minutes
  • Configured branch protection on the fork's main branch
  • Added submissions/lab3.md containing timing measurements, design question answers and bottleneck analysis

Testing

  • Deliberate failure test: intentionally broke app/handlers_test.go to verify that CI blocks merging
  • Fix verification: restored the test and confirmed successful CI execution
  • Branch protection: configured required checks for vet, test and lint
  • Performance measurements: captured baseline, cache, cache + matrix and bonus optimization runs

Checklist

  • Title is a clear sentence (≤ 70 chars)
  • Commits are signed (git log --show-signature)
  • submissions/lab3.md updated

Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Signed-off-by: T. R. Shekhmametyev <ssssasaskfrjd@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant