Support joining updating data #2411
Workflow file for this run
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, pull_request] | |
jobs: | |
lint-console: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/[email protected] | |
with: | |
version: 8.3.0 | |
run_install: | | |
- recursive: true | |
args: [--frozen-lockfile, --strict-peer-dependencies] | |
- name: Run prettier | |
run: | | |
cd arroyo-console | |
pnpm check | |
check-dockerfiles: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1 | |
with: | |
ruby-version: '3.1' | |
- name: Install dependencies | |
run: gem install toml-rb | |
- name: Check Dockerfiles | |
run: ruby docker/check_dockerfiles.rb | |
build-rust: | |
runs-on: ubuntu-latest-16-cores | |
env: | |
DATABASE_URL: "postgres://arroyo:arroyo@localhost:5432/arroyo" | |
DATABASE_USER: arroyo | |
DATABASE_PASSWORD: arroyo | |
DATABASE_HOST: localhost | |
DATABASE_NAME: arroyo | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Setup npm | |
uses: actions/setup-node@v3 | |
- name: Install OpenAPI Generator | |
run: | | |
npm install @openapitools/openapi-generator-cli -g | |
openapi-generator-cli version | |
- name: Setup Postgres | |
run: | | |
sudo apt-get update | |
sudo apt-get install postgresql | |
sudo systemctl start postgresql | |
sudo -u postgres psql -c "CREATE USER arroyo WITH PASSWORD 'arroyo' SUPERUSER;" | |
sudo -u postgres createdb arroyo | |
pushd /tmp | |
wget https://github.com/rust-db/refinery/releases/download/0.8.7/refinery-0.8.7-x86_64-unknown-linux-musl.tar.gz | |
tar xvfz refinery*.tar.gz | |
mv /tmp/refinery*-musl/refinery /tmp | |
popd | |
/tmp/refinery migrate -e DATABASE_URL -p arroyo-api/migrations | |
- name: Set up cache | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin | |
~/.cargo/registry/index | |
~/.cargo/registry/cache | |
~/.cargo/git/db | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo- | |
- name: Install dependencies | |
run: | | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
sudo apt-get install -y cmake clang ruby unzip postgresql libsasl2-dev | |
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-linux-x86_64.zip | |
unzip protoc*.zip | |
sudo mv bin/protoc /usr/local/bin | |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Install Kafka | |
run: | | |
wget --progress=dot --show-progress https://downloads.apache.org/kafka/3.5.0/kafka_2.12-3.5.0.tgz | |
tar xvfz kafka*.tgz | |
mkdir /tmp/kraft-combined-logs | |
kafka_*/bin/kafka-storage.sh format -t 9v5PspiySuWU2l5NjTgRuA -c kafka_*/config/kraft/server.properties | |
kafka_*/bin/kafka-server-start.sh -daemon kafka_*/config/kraft/server.properties | |
- name: Check Formatting | |
run: cargo fmt -- --check | |
- name: Build | |
run: cargo build --all-features | |
- name: Validate API | |
run: | | |
npm install --global ibm-openapi-validator | |
cd arroyo-openapi | |
lint-openapi --errors-only api-spec.json | |
- name: Test | |
run: cargo nextest run --all-features | |
- name: Integ | |
run: | | |
mkdir /tmp/arroyo-integ | |
RUST_LOG=info DISABLE_TELEMETRY=true OUTPUT_DIR=file:///tmp/arroyo-integ DEBUG=true target/debug/integ | |
build-console: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/[email protected] | |
with: | |
version: 8.3.0 | |
run_install: | | |
- recursive: true | |
args: [--frozen-lockfile, --strict-peer-dependencies] | |
- name: Build console | |
run: | | |
cd arroyo-console | |
pnpm build |