4
0

gen.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: codegen
  2. on: workflow_dispatch
  3. jobs:
  4. codegen:
  5. runs-on: ubuntu-20.04
  6. steps:
  7. - uses: actions/checkout@v4
  8. with:
  9. submodules: recursive
  10. - name: update libbpf
  11. working-directory: xtask/libbpf
  12. run: |
  13. set -e
  14. git fetch origin
  15. git checkout origin/HEAD
  16. echo "LIBBPF_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
  17. - uses: dtolnay/rust-toolchain@master
  18. with:
  19. toolchain: nightly
  20. components: rustfmt, clippy
  21. - uses: Swatinem/rust-cache@v2
  22. - name: Install headers
  23. run: |
  24. sudo apt -y update
  25. sudo apt -y install libelf-dev libc6-dev libc6-dev-{arm64,armel,riscv64,ppc64el,s390x,mips}-cross
  26. - name: Run codegen
  27. run: |
  28. cargo xtask codegen
  29. - name: Check for changes
  30. run: |
  31. git diff --quiet || echo "COMMIT_CHANGES=1" >> $GITHUB_ENV
  32. - name: Bless public API changes
  33. if: env.COMMIT_CHANGES == 1
  34. run: |
  35. cargo xtask public-api --bless
  36. - name: Commit Changes
  37. id: commit
  38. if: env.COMMIT_CHANGES == 1
  39. uses: devops-infra/action-commit-push@master
  40. with:
  41. github_token: "${{ secrets.CRABBY_GITHUB_TOKEN }}"
  42. commit_message: |
  43. chore(aya-obj, aya-ebpf-bindings): Regenerate bindings
  44. libbpf commit: ${{ env.LIBBPF_SHA }}
  45. target_branch: codegen
  46. force: true
  47. - name: Create pull request
  48. if: steps.commit.outputs.files_changed != ''
  49. uses: devops-infra/action-pull-request@master
  50. with:
  51. github_token: ${{ secrets.CRABBY_GITHUB_TOKEN }}
  52. body: |
  53. **Automated pull request**
  54. libbpf commit: ${{ env.LIBBPF_SHA }}
  55. title: "chore(aya-obj, aya-ebpf-bindings): Regenerate bindings"
  56. source_branch: codegen
  57. target_branch: main
  58. get_diff: true