mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-19 22:19:49 -04:00
* custom updater with toasts * new state management + updated router route * tauri-specific update route * ref * update in prod only * change 'Install' to 'Update' * fix tsconfig * desktop tauri * remove tauri patch * tauri 1.5 * tauri 1.5 * use tauri script * native-deps * Rework preprep and tauri script to better support tauri 1.5 * Update to tauri 1.5.1 - Update workspace and apps/desktop dependencies - Fix mustache import, @types/mustache is not compatible with ES imports - Replace arm64 with aarch64 in machineID, they should be treated the same and this simplyfies the code * Fix tauri updater not building due to missing key - Fix dmg background not being found - Generate an adhoc key for tauri updater with it is enabled and the user is doing a prod build * Fix ctrl+c/ctrl+v typo * Normalie @tanstack/react-query version through workspace - Use undici in scripts instead of global fetch - Fix typecheck * Fix linux prod and dev builds - Improve error handling in tauri.mjs * Normalize dev deps in workspace - Improve linux shared libs setup * Fix CI and server docker * Fix windows - Remove superfluous envvar * Attempt to fix server, mobile, deb and release updater * Attempt to fix deb and mobile again - Fix type on deb dependency - Enable release deb for aarch64-unknown-linux-gnu * Github doesn't have arm runners - Fix typo in server Dockerfile * Publish deb and updater artifacts * remove version from asset name * update commands * log release * Some logs on updater errors * show updater errors on frontend * fix desktop ui caching --------- Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com> Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
name: Server release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build-server:
|
|
name: Build a docker image for spacedrive server
|
|
runs-on: ubuntu-20.04
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Maximize build space
|
|
if: ${{ runner.os == 'Linux' }}
|
|
uses: easimon/maximize-build-space@master
|
|
with:
|
|
remove-codeql: 'true'
|
|
remove-dotnet: 'true'
|
|
remove-haskell: 'true'
|
|
remove-android: 'true'
|
|
overprovision-lvm: 'true'
|
|
remove-docker-images: 'true'
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Update buildah
|
|
shell: bash
|
|
run: |
|
|
wget -O- 'https://github.com/nicholasdille/buildah-static/releases/download/v1.30.0/buildah-amd64.tar.gz' \
|
|
| sudo tar -xzf- -C /usr/
|
|
|
|
- name: Determine image name & tag
|
|
id: image_info
|
|
shell: bash
|
|
run: |
|
|
if [ "$GITHUB_EVENT_NAME" == "release" ]; then
|
|
IMAGE_TAG=${GITHUB_REF##*/}
|
|
else
|
|
IMAGE_TAG=$(git rev-parse --short "$GITHUB_SHA")
|
|
fi
|
|
GITHUB_REPOSITORY_LOWER=$(echo $GITHUB_REPOSITORY | awk '{print tolower($0)}')
|
|
IMAGE_NAME="$GITHUB_REPOSITORY_LOWER/server"
|
|
|
|
echo "Building $IMAGE_NAME:$IMAGE_TAG"
|
|
echo "tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
|
|
echo "name=${IMAGE_NAME}" >> $GITHUB_OUTPUT
|
|
echo "repo=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
|
|
echo "repo_ref=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build image
|
|
id: build-image
|
|
uses: redhat-actions/buildah-build@v2
|
|
with:
|
|
tags: ${{ steps.image_info.outputs.tag }} ${{ github.event_name == 'release' && 'production' || 'staging' }}
|
|
archs: amd64
|
|
image: ${{ steps.image_info.outputs.name }}
|
|
layers: 'false'
|
|
context: ./apps/server/docker
|
|
build-args: |
|
|
REPO=${{ steps.image_info.outputs.repo }}
|
|
REPO_REF=${{ steps.image_info.outputs.repo_ref }}
|
|
containerfiles: |
|
|
./apps/server/docker/Dockerfile
|
|
|
|
- name: Push image to ghcr.io
|
|
uses: redhat-actions/push-to-registry@v2
|
|
with:
|
|
tags: ${{ steps.build-image.outputs.tags }}
|
|
image: ${{ steps.build-image.outputs.image }}
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|