WIP - tremor-script VM #11660
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: Checks | |
on: | |
pull_request: | |
branches: [main] | |
merge_group: | |
branches: [main] | |
push: | |
branches: [main] | |
jobs: | |
audit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
with: | |
command: check bans licenses sources | |
license: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check license headers | |
run: ./.github/checks/copyright.sh | |
safety: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Safety checks | |
run: ./.github/checks/safety.sh -a | |
unused-deps: | |
strategy: | |
matrix: | |
crate: [ | |
".", # tremor-runtime | |
"tremor-api", | |
"tremor-cli", | |
"tremor-codec", | |
"tremor-common", | |
"tremor-influx", | |
"tremor-interceptor", | |
"tremor-pipeline", | |
"tremor-script", | |
"tremor-value", | |
"tremor-system", | |
"tremor-connectors", | |
"tremor-connectors-aws", | |
"tremor-connectors-azure", | |
"tremor-connectors-gcp", | |
"tremor-connectors-otel", | |
"tremor-connectors-object-storage", | |
"tremor-connectors-test-helpers", | |
] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install deps | |
run: sudo snap install remarshal | |
- name: Install deps | |
run: sudo snap install --classic ripgrep | |
- uses: actions/checkout@v4 | |
- name: Check for unused dependencies | |
run: ./.github/checks/deps.sh ${{ matrix.crate }} | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check Formating | |
run: cargo fmt --all -- --check | |
clippy-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Install deps | |
run: sudo apt-get -qy update && sudo apt-get install -y libssl-dev libssl1.1 | |
- name: Check workflow permissions | |
id: check_permissions | |
uses: scherermichael-oss/[email protected] | |
with: | |
required-permission: write | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run clippy action to produce annotations | |
uses: giraffate/clippy-action@v1 | |
if: steps.check_permissions.outputs.has-permission | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
clippy_flags: --all -- -Dwarnings | |
- name: Run clippy manually without annotations | |
if: ${{ !steps.check_permissions.outputs.has-permission }} | |
run: cargo clippy --all | |
code-quality: | |
if: ${{ always() }} | |
name: Code Quality | |
runs-on: ubuntu-latest | |
needs: [format, clippy-check, unused-deps, safety, license, audit] | |
steps: | |
- run: exit 1 | |
# see https://stackoverflow.com/a/67532120/4907315 | |
if: >- | |
${{ | |
contains(needs.*.result, 'failure') | |
|| contains(needs.*.result, 'cancelled') | |
|| contains(needs.*.result, 'skipped') | |
}} |