chore(lint): add a lint to generate a json file with all enum, struct… #4
Workflow file for this run
This file contains hidden or 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
| # Check that committed backward compatibility snapshots are up to date | |
| name: aws_tfhe_backward_compat_schema | |
| env: | |
| CARGO_TERM_COLOR: always | |
| ACTION_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| RUSTFLAGS: "-C target-cpu=native" | |
| RUST_BACKTRACE: "full" | |
| RUST_MIN_STACK: "8388608" | |
| SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }} | |
| SLACK_ICON: https://pbs.twimg.com/profile_images/1274014582265298945/OjBKP9kn_400x400.png | |
| SLACK_USERNAME: ${{ secrets.BOT_USERNAME }} | |
| SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
| SLACKIFY_MARKDOWN: true | |
| PULL_REQUEST_MD_LINK: "" | |
| CHECKOUT_TOKEN: ${{ secrets.REPO_CHECKOUT_TOKEN || secrets.GITHUB_TOKEN }} | |
| on: | |
| # Allows you to run this workflow manually from the Actions tab as an alternative. | |
| workflow_dispatch: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| # zizmor: ignore[concurrency-limits] only Zama organization members can trigger this workflow (via manual approval for PR from forks) | |
| jobs: | |
| backward-compat-schema: | |
| name: aws_tfhe_backward_compat_schema/backward-compat-schema (bpr) | |
| if: (github.event_name == 'push' && github.repository == 'zama-ai/tfhe-rs') || | |
| github.event_name != 'push' | |
| runs-on: "runs-on=${{ github.run_id }}/runner=cpu-small" | |
| concurrency: | |
| group: ${{ github.workflow_ref }}${{ github.ref == 'refs/heads/main' && github.sha || '' }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| steps: | |
| - name: Checkout tfhe-rs | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd | |
| with: | |
| persist-credentials: 'false' | |
| token: ${{ env.CHECKOUT_TOKEN }} | |
| - name: Install nightly toolchain | |
| uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # zizmor: ignore[stale-action-refs] this action doesn't create releases | |
| with: | |
| toolchain: nightly-2026-01-22 | |
| components: llvm-tools-preview, rustc-dev | |
| - name: Generate snapshots from current code | |
| run: | | |
| make -f Makefile.compat lint-generate SUFFIX=ci_check | |
| - name: Check backward compatibility snapshots | |
| run: | | |
| make -f Makefile.compat lint-check-latest DENY_NEW_VARIANTS=true | |
| - name: Set pull-request URL | |
| if: ${{ failure() && github.event_name == 'pull_request' }} | |
| run: | | |
| echo "PULL_REQUEST_MD_LINK=[pull-request](${PR_BASE_URL}${PR_NUMBER}), " >> "${GITHUB_ENV}" | |
| env: | |
| PR_BASE_URL: ${{ vars.PR_BASE_URL }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| - name: Slack Notification | |
| if: ${{ failure() || (cancelled() && github.event_name != 'pull_request') }} | |
| continue-on-error: true | |
| uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 | |
| env: | |
| SLACK_COLOR: ${{ job.status }} | |
| SLACK_MESSAGE: "Backward compatibility schema check finished with status: ${{ job.status }}. Snapshots may be outdated — run `make -f Makefile.compat generate SUFFIX=<name>` and commit. (${{ env.PULL_REQUEST_MD_LINK }}[action run](${{ env.ACTION_RUN_URL }}))" |