docs: add code review guide #5675
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
## Make sure go.mod and go.sum files are up-to-date with the code | |
## TODO: make this fail if they're not up-to-date to inform the committer to udpate them | |
gomod: | |
runs-on: ubuntu-20.04 | |
outputs: | |
gomod: ${{ steps.gomod.outputs.gomod }} | |
gosum: ${{ steps.gosum.outputs.gosum }} | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
- run: make go-mod-tidy | |
- id: gomod | |
run: | | |
{ | |
echo 'gomod<<FILE' | |
cat go.mod | |
echo | |
echo FILE | |
} >> "$GITHUB_OUTPUT" | |
- id: gosum | |
run: | | |
{ | |
echo 'gosum<<FILE' | |
cat go.sum | |
echo | |
echo FILE | |
} >> "$GITHUB_OUTPUT" | |
lint: | |
runs-on: ubuntu-20.04 | |
needs: gomod | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
## Sync go.mod and go.sum files from gomod job | |
- name: restore_gomod | |
run: echo "${{needs.gomod.outputs.gomod}}" > go.mod | |
- name: restore_gosum | |
run: echo "${{needs.gomod.outputs.gosum}}" > go.sum | |
- run: make golint | |
test: | |
runs-on: ubuntu-20.04 | |
needs: gomod | |
strategy: | |
fail-fast: false | |
matrix: | |
testSuite: [test, integration-test, helm-test] | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
## Sync go.mod and go.sum files from gomod job | |
- name: restore_gomod | |
run: echo "${{needs.gomod.outputs.gomod}}" > go.mod | |
- name: restore_gosum | |
run: echo "${{needs.gomod.outputs.gosum}}" > go.sum | |
- uses: helm/[email protected] | |
- run: | | |
make install-csi-hostpath-driver | |
make install-minio | |
if: matrix.testSuite == 'integration-test' || matrix.testSuite == 'helm-test' | |
# A test (CRDSuite) that runs as part of `make test` requies atleast one CRD to | |
# be present on the cluster. That's why we are only installing csi-hostpath-driver | |
# before running `make test`, to create some CRDs on the cluster. | |
- run: | | |
make install-csi-hostpath-driver | |
make install-minio | |
if: matrix.testSuite == 'test' | |
- run: make ${{ matrix.testSuite }} | |
build: | |
runs-on: ubuntu-20.04 | |
needs: gomod | |
strategy: | |
matrix: | |
bin: [controller, kanctl, kando] | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
## Sync go.mod and go.sum files from gomod job | |
- name: restore_gomod | |
run: echo "${{needs.gomod.outputs.gomod}}" > go.mod | |
- name: restore_gosum | |
run: echo "${{needs.gomod.outputs.gosum}}" > go.sum | |
- run: make build BIN=${{ matrix.bin }} GOBORING=true | |
docs: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
- run: make docs | |
release: | |
runs-on: ubuntu-20.04 | |
needs: [lint, test, build, docs] | |
if: github.ref_name == 'master' || startsWith(github.ref, 'refs/tags') | |
permissions: | |
packages: write | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
- run: make go-mod-tidy | |
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- run: sudo rm -rf /usr/share/dotnet | |
- run: sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- run: docker image prune -af | |
- run: make release-snapshot | |
- run: ./build/push_images.sh |