chorus/.github/workflows/rust.yml

50 lines
1.2 KiB
YAML
Raw Normal View History

2023-04-04 16:43:53 +02:00
name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
2023-04-04 17:48:33 +02:00
build_and_test:
2023-04-04 16:43:53 +02:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2023-04-15 17:26:44 +02:00
- name: Set up Node.js
run: |
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y git python3 build-essential
2023-04-15 17:42:31 +02:00
- name: Clone spacebarchat-server
run: git clone https://github.com/polyphony-chat/spacebarchat-server.git
2023-04-15 17:26:44 +02:00
- name: Install Node packages
2023-04-15 17:31:45 +02:00
run: npm install
2023-04-15 17:35:07 +02:00
working-directory: ./server
2023-04-15 17:26:44 +02:00
- name: Build and generate schema
run: npm run setup
2023-04-15 17:35:07 +02:00
working-directory: ./server
2023-04-15 17:26:44 +02:00
- name: Start the server
run: |
npm run start &
echo $! > server_pid.txt
2023-04-15 17:35:07 +02:00
working-directory: ./server
2023-04-15 17:26:44 +02:00
- name: Wait for server to start
run: sleep 10
2023-04-04 16:43:53 +02:00
- name: Build
run: cargo build --verbose
2023-04-04 17:42:41 +02:00
- name: Run tests
run: cargo test --verbose
2023-04-15 17:26:44 +02:00
- name: Terminate the server
run: |
kill $(cat server_pid.txt)
rm server_pid.txt