diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000000..8ce0ee586f71 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,68 @@ +name: Additional lint + +on: + push: + branches: + - trying + - staging + pull_request: + branches: [ master ] + merge_group: + +jobs: + compilation database: + env: + # Force locale, in particular for reproducible results re '.github/log_expected_warnings' (see below). + LC_ALL: C.UTF-8 + + runs-on: ubuntu-24.10 + + steps: + - uses: actions/checkout@v4 + + - name: Install Deps + run: | + sudo apt-get update; + sudo apt-get install -y \ + automake \ + autoconf \ + libtool \ + autogen \ + bison \ + flex \ + libgmp3-dev \ + libmpfr-dev \ + libmpc-dev \ + build-essential \ + gcc-multilib \ + g++-multilib \ + bear \ + dejagnu; + # install Rust directly using rustup + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=1.72.0; + + - name: Make Source Read-Only + run: chmod -R a-w ./* + + - name: Configure + run: | + mkdir -p gccrs-build; + cd gccrs-build; + ../configure \ + --enable-languages=rust \ + --disable-bootstrap \ + --enable-multilib + + - name: Build + shell: bash + run: | + cd gccrs-build; \ + # Add cargo to our path quickly + . "$HOME/.cargo/env"; + bear -- make -Otarget -j $(nproc) 2>&1 | tee log + - uses: actions/upload-artifact@v4 + with: + name: compilation-database + path: gccrs-build/compilation_database.json + +