replace runtime image to distrolles run as noroot #482
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: Rust build, test, and generate specification | |
on: | |
push: | |
pull_request: | |
branches: [master] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
name: Rust project | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest stable | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Install cargo-nextest | |
uses: baptiste0928/cargo-install@v1 | |
with: | |
crate: cargo-nextest | |
locked: true | |
- name: Run cargo build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
- name: Run services in background | |
run: | | |
docker-compose -f docker-compose.db.yml up -d | |
- name: Copy .env.example | |
run: | | |
cp .env.example .env | |
- name: Run cargo test | |
env: | |
TEST_DB: REFERENCE | |
run: | | |
cargo nextest run | |
- name: Run cargo test (with MongoDB) | |
env: | |
TEST_DB: MONGODB | |
MONGODB: mongodb://localhost | |
run: | | |
cargo nextest run | |
- name: Start API in background | |
if: github.event_name != 'pull_request' && github.ref_name == 'master' | |
env: | |
TEST_DB: REFERENCE | |
run: | | |
cargo run --bin revolt-delta & | |
- name: Wait for API to go up | |
if: github.event_name != 'pull_request' && github.ref_name == 'master' | |
uses: nev7n/wait_for_response@v1 | |
with: | |
url: "http://localhost:8000/" | |
- name: Checkout API repository | |
if: github.event_name != 'pull_request' && github.ref_name == 'master' | |
uses: actions/checkout@v3 | |
with: | |
repository: revoltchat/api | |
path: api | |
token: ${{ secrets.PAT }} | |
- name: Download OpenAPI specification | |
if: github.event_name != 'pull_request' && github.ref_name == 'master' | |
run: curl http://localhost:8000/openapi.json -o api/OpenAPI.json | |
- name: Commit changes | |
if: github.event_name != 'pull_request' && github.ref_name == 'master' | |
uses: EndBug/add-and-commit@v4 | |
with: | |
cwd: "api" | |
add: "*.json" | |
author_name: Revolt CI | |
author_email: [email protected] | |
message: "chore: generate OpenAPI specification" |