name: codegen on: workflow_dispatch jobs: codegen: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: submodules: recursive - name: update libbpf working-directory: xtask/libbpf run: | set -e git fetch origin git checkout origin/HEAD echo "LIBBPF_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV - uses: dtolnay/rust-toolchain@master with: toolchain: nightly components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - name: Install headers run: | sudo apt -y update sudo apt -y install libelf-dev libc6-dev libc6-dev-{arm64,armel,riscv64,ppc64el,s390x,mips}-cross - name: Run codegen run: | cargo xtask codegen - name: Check for changes run: | git diff --quiet || echo "COMMIT_CHANGES=1" >> $GITHUB_ENV - name: Bless public API changes if: env.COMMIT_CHANGES == 1 run: | cargo xtask public-api --bless - name: Commit Changes id: commit if: env.COMMIT_CHANGES == 1 uses: devops-infra/action-commit-push@master with: github_token: "${{ secrets.CRABBY_GITHUB_TOKEN }}" commit_message: | chore(aya-obj, aya-ebpf-bindings): Regenerate bindings libbpf commit: ${{ env.LIBBPF_SHA }} target_branch: codegen force: true - name: Create pull request if: steps.commit.outputs.files_changed != '' uses: devops-infra/action-pull-request@master with: github_token: ${{ secrets.CRABBY_GITHUB_TOKEN }} body: | **Automated pull request** libbpf commit: ${{ env.LIBBPF_SHA }} title: "chore(aya-obj, aya-ebpf-bindings): Regenerate bindings" source_branch: codegen target_branch: main get_diff: true