Skip to content

Merge pull request #21 from kruserr/2024-02-23-1 #88

Merge pull request #21 from kruserr/2024-02-23-1

Merge pull request #21 from kruserr/2024-02-23-1 #88

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
IMAGE_NAME: rapiddb
IMAGE_CACHE: ghcr.io/kruserr/rapiddb/rapiddb:cache
jobs:
rustfmt:
name: Formatting
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Formatting
run: cargo fmt --all -- --check
clippy:
name: Lint
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Lint
run: cargo clippy --all-targets --all-features -- -Dwarnings
test:
name: Test
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Test
run: cargo test
publish-docker:
name: Publish on GitHub Packages and Docker Hub
runs-on: ubuntu-22.04
if: github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
file: ./tooling/Dockerfile
push: true
tags: |
ghcr.io/${{ github.repository }}:dev
docker.io/${{ github.repository }}:dev
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache