This repository has been archived by the owner on Jun 3, 2024. It is now read-only.
ci: fix lib postal build #23
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: llvm-tools-preview | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: true | |
cache-on-failure: true | |
cache-all-crates: true | |
shared-key: "debug-build" | |
- name: Configure sysctl limits | |
run: | | |
sudo swapoff -a | |
sudo sysctl -w vm.swappiness=1 | |
sudo sysctl -w fs.file-max=262144 | |
sudo sysctl -w vm.max_map_count=262144 | |
- name: Runs Elasticsearch | |
uses: elastic/elastic-github-actions/elasticsearch@master | |
with: | |
stack-version: 7.13.0 | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- uses: actions-rs/cargo@v1 | |
env: | |
TEST_CONTAINER: 'false' | |
MIMIR__ELASTICSEARCH__URL: 'http://es1:9200' | |
with: | |
command: llvm-cov | |
args: --workspace --lcov --output-path lcov.info | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: lcov.info | |
fail_ci_if_error: false | |
lints: | |
name: Lints & Format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: true | |
cache-on-failure: true | |
cache-all-crates: true | |
shared-key: "debug-build" | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
continue-on-error: false | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
continue-on-error: false | |
with: | |
command: clippy | |
args: -- -D warnings | |
build: | |
name: Build | |
needs: [lints, test] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Get lib postal | |
run: | | |
sudo apt-get update && apt-get install -y \ | |
autoconf automake build-essential curl git libsnappy-dev libtool pkg-config llvm-dev libclang-dev clang | |
git clone https://github.com/openvenues/libpostal | |
cd libpostal | |
- name: Install libpostal | |
run: | | |
./bootstrap.sh | |
mkdir -p /opt/libpostal_data | |
./configure --datadir=/opt/libpostal_data | |
make -j4 | |
sudo make install | |
ldconfig | |
pkg-config --cflags libpostal | |
- name: Run cargo build | |
uses: actions-rs/cargo@v1 | |
continue-on-error: false | |
with: | |
command: build | |
args: --all-features --release |