Skip to content

Modified tests/api/utils.rs #77

Modified tests/api/utils.rs

Modified tests/api/utils.rs #77

Workflow file for this run

name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
services:
docker:
image: docker:19.03.12
options: --privileged
ports:
- 2375:2375
steps:
- uses: actions/checkout@v4
- name: Set up Docker
run: |
sudo service docker start
echo "Docker daemon started"
- name: Install Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- name: Start services with Docker Compose
run: |
docker-compose up -d
sleep 10
- name: Run migrations
run: |
cargo install sqlx-cli
sqlx migrate run --database-url ${{ secrets.DATABASE_URL }}
- name: Check and Lint
run: |
cargo check
cargo clippy -- -D warnings
- name: Check sqlx query cache
run: cargo sqlx prepare --check
- name: Build
run: cargo build --verbose
- name: test .env
run: echo "${{ secrets.TEST_ENV_FILE }}" > .env
- name: Run tests
run: DATABASE_URL=${{ secrets.DATABASE_URL }} cargo test --verbose
- name: prod .env
run: echo "${{ secrets.ENV_FILE }}" > .env
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ secrets.DOCKER_TAGS }}
- name: Restart Docker Compose on Remote Server
if: github.event_name != 'pull_request'
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }} # Add your server's IP address or hostname to your repository's secrets
username: ${{ secrets.REMOTE_USER }} # Add your server's SSH username to your repository's secrets
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd ${{ secrets.REMOTE_PATH }}
docker compose -f docker-compose.yml -f docker-compose.production.yml pull
docker compose -f docker-compose.yml -f docker-compose.production.yml down
docker compose -f docker-compose.yml -f docker-compose.production.yml up -d