feat: add maintenance mode for upgrades #6737
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: Build and Test | |
on: | |
push: | |
branches: [main, release/*] | |
pull_request: | |
branches: [main, release/*] | |
paths: [nexus/**, protos/**] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
runner: [ubicloud-standard-2-ubuntu-2204-arm] | |
runs-on: ${{ matrix.runner }} | |
timeout-minutes: 30 | |
services: | |
catalog_peer: | |
image: debezium/postgres:14-alpine | |
ports: | |
- 7132:5432 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: generate or hydrate protos | |
uses: ./.github/actions/genprotos | |
- name: install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler libssl-dev pkg-config build-essential | |
- name: setup gcp service account | |
id: gcp-service-account | |
uses: jsdaniell/create-json@v1.2.3 | |
with: | |
name: "bq_service_account.json" | |
json: ${{ secrets.GCP_GH_CI_PKEY }} | |
dir: "nexus/server/tests/assets/" | |
- name: setup snowflake credentials | |
id: sf-credentials | |
uses: jsdaniell/create-json@v1.2.3 | |
with: | |
name: "snowflake_creds.json" | |
json: ${{ secrets.SNOWFLAKE_GH_CI_PKEY }} | |
dir: "nexus/server/tests/assets/" | |
- uses: ubicloud/rust-cache@v2 | |
with: | |
workspaces: nexus | |
- name: cargo check | |
run: cargo check | |
working-directory: ./nexus | |
- name: cargo test | |
run: cargo test -- --test-threads=1 | |
working-directory: ./nexus | |
env: | |
RUST_BACKTRACE: 1 | |
PEERDB_CATALOG_HOST: localhost | |
PEERDB_CATALOG_PORT: 7132 | |
PEERDB_CATALOG_DATABASE: postgres | |
PEERDB_CATALOG_USER: postgres | |
PEERDB_CATALOG_PASSWORD: postgres | |
TEST_BQ_CREDS: tests/assets/bq_service_account.json | |
TEST_SF_CREDS: tests/assets/snowflake_creds.json | |
PEERDB_LOG_DIR: /tmp | |
- name: dump server.log | |
if: failure() | |
run: cat nexus/server/server.log |