fileserver/.gitea/workflows/build.yaml
2023-05-26 13:20:52 +02:00

94 lines
2.6 KiB
YAML

on:
push:
tags-ignore: '*'
workflow-call: {}
jobs:
build-glibc:
name: Build backend-glibc
container:
image: rust:bullseye
steps:
- uses: actions/checkout@v3
- name: Build
run: cargo build --release
working-directory: backend
- name: Upload executable
uses: actions/upload-artifact@v3
with:
name: backend-glibc
path: backend/target/release/backend_rust
build-muslc:
name: Build backend-muslc
contianer:
image: rust:alpine
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: apk add pkgconf musl-dev
- name: Build
run: cargo build --release
working-directory: backend
- name: Upload executable
uses: actions/upload-artifact@v3
with:
name: backend-muslc
path: backend/target/release/backend_rust
build-frontend:
name: Build frontend
container:
image: node:current-alpine
steps:
- uses: actions/checkout@v3
- name: Install packages
run: yarn install --frozen-lockfile
working-directory: frontend
- name: Lint
run: yarn lint
working-directory: frontend
- name: Build
run: yarn build
working-directory: frontend
- name: Upload frontend
uses: actions/upload-artifact@v3
with:
name: frontend
path: frontend/dist/*
package:
name: Package builds
container:
image: alpine:latest
needs: [build-glibc, build-muslc, build-frontend]
steps:
- name: Install packages
run: apk add tar xz
- run: mkdir static
- name: Download frontend
uses: actions/download-artifact@v3
with:
name: frontend
path: static
- name: Download backend-glibc
uses: actions/download-artifact@v3
with:
name: backend-glibc
path: server
- name: Package backend-glibc
run: tar -cvJf linux-x64-glibc.tar.xz server static
- name: Upload package-glibc
uses: actions/upload-artifact@v3
with:
name: package-glibc
path: linux-x64-glibc.tar.xz
- name: Download backend-muslc
uses: actions/download-artifact@v3
with:
name: backend-muslc
path: server
- name: Package backend-muslc
run: tar -cvJf linux-x64-muslc.tar.xz server static
- name: Upload package-muslc
uses: actions/upload-artifact@v3
with:
name: package-muslc
path: linux-x64-muslc.tar.xz