mirror of
https://github.com/usatiuk/dhfs.git
synced 2025-10-28 20:47:49 +01:00
166 lines
4.0 KiB
YAML
166 lines
4.0 KiB
YAML
name: Server
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
tags: ["v*.*.*"]
|
|
pull_request:
|
|
branches: ["main"]
|
|
|
|
jobs:
|
|
build-dhfs:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: "recursive"
|
|
|
|
- name: Install sudo for ACT
|
|
run: apt-get update && apt-get install -y sudo
|
|
if: env.ACT=='true'
|
|
|
|
- name: Install FUSE
|
|
run: sudo apt-get update && sudo apt-get install -y libfuse2 libfuse3-dev libfuse3-3 fuse3
|
|
|
|
- name: User allow other for fuse
|
|
run: echo "user_allow_other" | sudo tee -a /etc/fuse.conf
|
|
|
|
- name: Dump fuse.conf
|
|
run: cat /etc/fuse.conf
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: "21"
|
|
distribution: "zulu"
|
|
cache: maven
|
|
|
|
- name: Build LazyFS
|
|
run: cd thirdparty/lazyfs/ && ./build.sh
|
|
|
|
- name: Test with Maven
|
|
run: cd dhfs-parent && mvn -T $(nproc) --batch-mode --update-snapshots package verify javadoc:aggregate
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: DHFS Server Package
|
|
path: dhfs-parent/dhfs-fuse/target/quarkus-app
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: DHFS Javadocs
|
|
path: dhfs-parent/target/reports/apidocs/
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: ${{ always() }}
|
|
with:
|
|
name: Test logs
|
|
path: ./**/target/*-reports
|
|
|
|
build-webui:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
cache: "npm"
|
|
cache-dependency-path: "webui/package.json"
|
|
|
|
- name: NPM Install
|
|
run: cd webui && npm i
|
|
|
|
- name: NPM Build
|
|
run: cd webui && npm run build
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Webui
|
|
path: webui/dist
|
|
|
|
publish-run-wrapper:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
needs: [build-webui, build-dhfs]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: DHFS Server Package
|
|
path: dhfs-package-downloaded
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: Webui
|
|
path: webui-dist-downloaded
|
|
|
|
- name: Show all the files
|
|
run: find .
|
|
|
|
- name: Make run wrapper dirs
|
|
run: mkdir -p run-wrapper-out/dhfs/data && mkdir -p run-wrapper-out/dhfs/fuse && mkdir -p run-wrapper-out/dhfs/app
|
|
|
|
- name: Copy DHFS
|
|
run: cp -r ./dhfs-package-downloaded "run-wrapper-out/dhfs/app/Server"
|
|
|
|
- name: Copy Webui
|
|
run: cp -r ./webui-dist-downloaded "run-wrapper-out/dhfs/app/Webui"
|
|
|
|
- name: Copy run wrapper
|
|
run: cp -r ./run-wrapper/* "run-wrapper-out/dhfs/app/"
|
|
|
|
- name: Add version to run wrapper
|
|
run: echo $GITHUB_RUN_ID > "run-wrapper-out/dhfs/app/"version
|
|
|
|
- name: Tar run wrapper
|
|
run: tar -cvf ~/run-wrapper.tar.gz ./run-wrapper-out
|
|
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Run wrapper
|
|
path: ~/run-wrapper.tar.gz
|
|
|
|
publish-javadoc:
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
needs: [build-webui, build-dhfs]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: DHFS Javadocs
|
|
path: dhfs-javadocs-downloaded
|
|
|
|
- name: Setup Pages
|
|
uses: actions/configure-pages@v5
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-pages-artifact@v3
|
|
with:
|
|
path: "dhfs-javadocs-downloaded"
|
|
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v4
|