faucet-server 2.1.0

Welcome to Faucet, your go-to solution for deploying Plumber APIs and Shiny Applications with blazing speed and efficiency. Faucet is a high-performance server built with Rust, offering Round Robin and Round Robin + IP Hash load balancing for seamless scaling and distribution of your R applications. Whether you're a data scientist, developer, or DevOps enthusiast, Faucet streamlines the deployment process, making it easier than ever to manage replicas and balance loads effectively.
Documentation
name: Nightly Workflow

on:
  schedule:
    - cron: "0 5 * * *"
  workflow_dispatch:

permissions:
  contents: read

jobs:
  required:
    runs-on: ubuntu-latest
    name: Unit testing on ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true
      - name: Install stable
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
      - name: Restore cached target/
        id: target-cache-restore
        uses: actions/cache/restore@v4
        with:
          path: |
            target
            /home/runner/.cargo
          key: stable-target
      - name: cargo test --locked
        run: cargo test --locked --all-features --all-targets
      - name: cargo test --doc
        run: cargo test --locked --all-features --doc
      - name: Save cached target/
        id: target-cache-save
        uses: actions/cache/save@v4
        with:
          path: |
            target
            /home/runner/.cargo
          key: ${{ steps.target-cache-restore.outputs.cache-primary-key }}
  build-r45:
    name: Build Docker Image (R 4.5)
    needs: required
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build Docker image
        env:
          PLATFORM: linux/amd64,linux/arm64
          TAG_V: ixpantia/faucet:nightly-r4.5
        run: |
          docker buildx build \
            --platform $PLATFORM \
            --push \
            -t $TAG_V \
            --build-arg R_VERSION=4.5.0 \
            .

  build-r44:
    name: Build Docker Image (R 4.4)
    needs: required
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build Docker image
        env:
          PLATFORM: linux/amd64,linux/arm64
          TAG_V: ixpantia/faucet:nightly-r4.4
        run: |
          docker buildx build \
            --platform $PLATFORM \
            --push \
            -t $TAG_V \
            --build-arg R_VERSION=4.4.1 \
            .
  build-r43:
    name: Build Docker Image (R 4.3)
    needs: required
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build Docker image
        env:
          PLATFORM: linux/amd64,linux/arm64
          TAG_V: ixpantia/faucet:nightly-r4.3
        run: |
          docker buildx build \
            --platform $PLATFORM \
            --push \
            -t $TAG_V \
            --build-arg R_VERSION=4.3.3 \
            .
  build-r42:
    name: Build Docker Image (R 4.2)
    needs: required
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build Docker image
        env:
          PLATFORM: linux/amd64,linux/arm64
          TAG_V: ixpantia/faucet:nightly-r4.2
        run: |
          docker buildx build \
            --platform $PLATFORM \
            --push \
            -t $TAG_V \
            --build-arg R_VERSION=4.2.3 \
            .
  build-r41:
    name: Build Docker Image (R 4.1)
    needs: required
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build Docker image
        env:
          PLATFORM: linux/amd64,linux/arm64
          TAG_V: ixpantia/faucet:nightly-r4.1
        run: |
          docker buildx build \
            --platform $PLATFORM \
            --push \
            -t $TAG_V \
            --build-arg R_VERSION=4.1.3 \
            .