v0.7.0 (#2266)

*  v0.7.0

* chore: gitignore

* 🐳 ci: update release image workflows
This commit is contained in:
Danny Avila 2024-04-01 15:48:57 -04:00 committed by GitHub
parent aff219c655
commit 5c8b16fbaf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 80 additions and 75 deletions

View file

@ -1,28 +1,36 @@
name: Docker Compose Build on Tag
name: Docker Images Build on Tag
# The workflow is triggered when a tag is pushed
on:
push:
tags:
- "*"
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- target: api-build
file: Dockerfile.multi
image_name: librechat-api
- target: node
file: Dockerfile
image_name: librechat
steps:
# Check out the repository
- name: Checkout
uses: actions/checkout@v4
# Set up Docker
- name: Set up Docker
uses: docker/setup-buildx-action@v3
# Set up QEMU for cross-platform builds
# Set up QEMU
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
@ -31,53 +39,29 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Prepare Docker Build
- name: Build Docker images
# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Prepare the environment
- name: Prepare environment
run: |
cp .env.example .env
# Tag and push librechat-api
- name: Docker metadata for librechat-api
id: meta-librechat-api
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ github.repository_owner }}/librechat-api
tags: |
type=raw,value=latest
type=semver,pattern={{version}}
type=semver,pattern={{major}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and librechat-api
# Build and push Docker images for each target
- name: Build and push Docker images
uses: docker/build-push-action@v5
with:
file: Dockerfile.multi
context: .
file: ${{ matrix.file }}
push: true
tags: ${{ steps.meta-librechat-api.outputs.tags }}
platforms: linux/amd64,linux/arm64
target: api-build
# Tag and push librechat
- name: Docker metadata for librechat
id: meta-librechat
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ github.repository_owner }}/librechat
tags: |
type=raw,value=latest
type=semver,pattern={{version}}
type=semver,pattern={{major}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and librechat
uses: docker/build-push-action@v5
with:
file: Dockerfile
context: .
push: true
tags: ${{ steps.meta-librechat.outputs.tags }}
ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:${{ github.ref_name }}
ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:${{ github.ref_name }}
${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:latest
platforms: linux/amd64,linux/arm64
target: node
target: ${{ matrix.target }}

View file

@ -1,12 +1,20 @@
name: Docker Compose Build Latest Main Image Tag (Manual Dispatch)
# The workflow is manually triggered
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- target: api-build
file: Dockerfile.multi
image_name: librechat-api
- target: node
file: Dockerfile
image_name: librechat
steps:
- name: Checkout
@ -30,26 +38,29 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Docker metadata for librechat
- name: Docker metadata for librechat
id: meta-librechat
uses: docker/metadata-action@v5
# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
images: ghcr.io/${{ github.repository_owner }}/librechat
tags: |
type=raw,value=${{ env.LATEST_TAG }},enable=true
type=raw,value=latest,enable=true
type=semver,pattern={{version}}
type=semver,pattern={{major}}
type=semver,pattern={{major}}.{{minor}}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Build and push librechat with only linux/amd64 platform
- name: Build and push librechat
# Prepare the environment
- name: Prepare environment
run: |
cp .env.example .env
# Build and push Docker images for each target
- name: Build and push Docker images
uses: docker/build-push-action@v5
with:
file: Dockerfile
context: .
file: ${{ matrix.file }}
push: true
tags: ${{ steps.meta-librechat.outputs.tags }}
platforms: linux/amd64
target: node
tags: |
ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:${{ env.LATEST_TAG }}
ghcr.io/${{ github.repository_owner }}/${{ matrix.image_name }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:${{ env.LATEST_TAG }}
${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.image_name }}:latest
platforms: linux/amd64,linux/arm64
target: ${{ matrix.target }}

5
.gitignore vendored
View file

@ -93,4 +93,7 @@ auth.json
!client/src/components/Nav/SettingsTabs/Data/
# User uploads
uploads/
uploads/
# owner
release/

View file

@ -1,4 +1,5 @@
#!/usr/bin/env sh
# v0.7.0
#!/usr/bin/env sh
set -e
. "$(dirname -- "$0")/_/husky.sh"
[ -n "$CI" ] && exit 0

View file

@ -1,3 +1,5 @@
# v0.7.0
# Base node image
FROM node:18-alpine AS node

View file

@ -1,3 +1,5 @@
# v0.7.0
# Build API, Client and Data Provider
FROM node:20-alpine AS base

View file

@ -1,4 +1,5 @@
import React from 'react';
import { Constants } from 'librechat-data-provider';
import { useGetStartupConfig } from 'librechat-data-provider/react-query';
import { useLocalize } from '~/hooks';
@ -38,7 +39,7 @@ export default function Footer() {
) : (
<>
<a href="https://librechat.ai" target="_blank" rel="noreferrer" className="underline">
{config?.appTitle || 'LibreChat'} v0.6.10
{config?.appTitle || 'LibreChat'} {Constants.VERSION}
</a>
{' - '} {localize('com_ui_new_footer')}
</>

View file

@ -1,3 +1,4 @@
import { Constants } from 'librechat-data-provider';
import { useGetStartupConfig } from 'librechat-data-provider/react-query';
import { useLocalize } from '~/hooks';
@ -12,7 +13,7 @@ export default function Footer() {
) : (
<>
<a href="https://librechat.ai" target="_blank" rel="noreferrer" className="underline">
{config?.appTitle || 'LibreChat'} v0.6.10
{config?.appTitle || 'LibreChat'} {Constants.VERSION}
</a>
{' - '}. {localize('com_ui_pay_per_call')}
</>

View file

@ -1,3 +1,3 @@
// v0.6.10
// v0.7.0
// See .env.test.example for an example of the '.env.test' file.
require('dotenv').config({ path: './e2e/.env.test' });

View file

@ -1,4 +1,4 @@
<!-- v0.6.10 -->
<!-- v0.7.0 -->
<!DOCTYPE html>
<html>
<head>

View file

@ -521,7 +521,7 @@ export enum Constants {
/**
* Key for the app's version.
*/
VERSION = 'v0.6.10',
VERSION = 'v0.7.0',
/**
* Key for the Custom Config's version (librechat.yaml).
*/

View file

@ -1,4 +1,4 @@
// v0.6.10
// v0.7.0
module.exports = {
tailwindConfig: './client/tailwind.config.cjs',
printWidth: 100,