build-linux #264
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: build-linux | |
on: | |
push: | |
branches: [master] | |
paths: | |
- '.github/workflows/build-linux.yaml' | |
- 'include/**' | |
- 'src/**' | |
- 'test/**' | |
- 'tools/**' | |
- 'vendor/**' | |
- 'Cargo.toml' | |
- 'Cargo.lock' | |
- 'BSDmakefile' | |
- 'GNUmakefile' | |
- 'config.mk' | |
pull_request: | |
branches: [master] | |
types: [opened, synchronize, ready_for_review] | |
paths: | |
- '.github/workflows/build-linux.yaml' | |
- 'include/**' | |
- 'src/**' | |
- 'test/**' | |
- 'tools/**' | |
- 'vendor/**' | |
- 'Cargo.toml' | |
- 'Cargo.lock' | |
- 'BSDmakefile' | |
- 'GNUmakefile' | |
- 'config.mk' | |
schedule: | |
- cron: '0 0 * * 1' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: false | |
jobs: | |
build-analyze: | |
permissions: | |
security-events: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout-repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: install-dependencies | |
run: xargs sudo apt-get install -y < Aptfile | |
- name: setup-audio-dev | |
run: | | |
sudo apt-get install -y pulseaudio alsa-utils | |
pulseaudio --start | |
pacmd load-module module-null-sink sink_name=DummyOutput sink_properties=device.description=DummyOutput | |
pacmd set-default-sink DummyOutput | |
echo "pcm.!default { | |
type pulse | |
} | |
ctl.!default { | |
type pulse | |
}" > ~/.asoundrc | |
sudo usermod -aG audio $USER | |
pulseaudio --kill && pulseaudio --start | |
- name: setup-rust-cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: setup-codeql | |
uses: github/codeql-action/init@v3 | |
with: | |
languages: c-cpp | |
config: | | |
paths-ignore: [vendor] | |
- name: build | |
run: | | |
sudo -s -u ${USER} bash -c "PULSE_SERVER=\"unix:/run/user/$(id -u)/pulse/native\" make -j$(nproc)" | |
- name: build-editor | |
run: make editor -j$(nproc) | |
- name: test | |
run: make check -j$(nproc) | |
- name: test-results-report | |
if: ${{ always() }} | |
uses: test-summary/action@v2 | |
with: | |
paths: carbon_results.xml | |
- name: test-coverage-report | |
uses: codecov/codecov-action@v4.0.1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: analyze | |
uses: github/codeql-action/analyze@v3 |