all.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: all-ci
  2. on:
  3. push:
  4. branches:
  5. - '*' # matches every branch that doesn't contain a '/'
  6. - '*/*' # matches every branch containing a single '/'
  7. - '**' # matches every branch
  8. - '!main' # excludes main
  9. pull_request:
  10. branches: [ '!main' ]
  11. env:
  12. KUBEBUILDER_VERSION: 2.3.1
  13. jobs:
  14. build:
  15. name: Build
  16. container:
  17. image: golang:1.15
  18. runs-on: ubuntu-latest
  19. steps:
  20. - name: Check out code into the Go module directory
  21. uses: actions/checkout@v2
  22. - name: Get dependencies
  23. run: |
  24. go get -v -t -d ./...
  25. - name: Add kubebuilder
  26. run: |
  27. curl -L https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${{env.KUBEBUILDER_VERSION}}/kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz > kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz
  28. tar -xvf kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz
  29. mv kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64 /usr/local/kubebuilder
  30. - name: Vet and Build
  31. run: make manager
  32. test:
  33. name: Test
  34. container:
  35. image: golang:1.15
  36. runs-on: ubuntu-latest
  37. steps:
  38. - name: Check out code into the Go module directory
  39. uses: actions/checkout@v2
  40. - name: Get dependencies
  41. run: |
  42. go get -v -t -d ./...
  43. - name: Add kubebuilder
  44. run: |
  45. curl -L https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${{env.KUBEBUILDER_VERSION}}/kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz > kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz
  46. tar -xvf kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64.tar.gz
  47. mv kubebuilder_${{env.KUBEBUILDER_VERSION}}_linux_amd64 /usr/local/kubebuilder
  48. - name: Check out code into the Go module directory
  49. uses: actions/checkout@v2
  50. - name: Test
  51. run: make test
  52. - name: Coverage
  53. uses: codecov/codecov-action@v1
  54. with:
  55. # token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
  56. file: ./cover.out
  57. # flags: unittests # optional
  58. name: external-secrets
  59. fail_ci_if_error: false