Compare commits

...

4 Commits

Author SHA1 Message Date
Yeicor
5ff6e58071 improve deploy workflow 6 2024-03-03 20:08:32 +01:00
Yeicor
032f37a64b improve deploy workflow 5 2024-03-03 20:03:56 +01:00
Yeicor
dc12f83780 improve deploy workflow 4 2024-03-03 20:01:19 +01:00
Yeicor
079c7217b6 improve deploy workflow 3 2024-03-03 19:57:27 +01:00
3 changed files with 29 additions and 36 deletions

View File

@@ -1,5 +1,3 @@
name: "build"
on:
push:
branches:

View File

@@ -1,51 +1,40 @@
name: "maybe deploy"
on:
workflow_run:
workflows: [ "build" ]
types: [ "completed" ]
branches: [ "master" ]
push:
tags:
- "v**"
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: "write"
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
check-early-exit:
runs-on: "ubuntu-latest"
outputs:
should-deploy: "${{ steps.check-early-exit.outputs.should-deploy }}"
steps:
- run: |
if [ "${{ github.event.workflow_run.conclusion }}" != "success" ]; then
echo "Not deploying because the CI workflow did not succeed."
echo "should-deploy=false" >> $GITHUB_ENV
elif ! echo "${{ github.ref }}" | grep -q -E "^refs/tags/v[0-9]+\.[0-9]+\.[0-9]+.*"; then
echo "Not deploying because the CI workflow was not triggered by a release tag."
echo "should-deploy=false" >> $GITHUB_ENV
else
echo "should-deploy=true" >> $GITHUB_ENV
fi
deploy:
concurrency: "ci-${{ github.ref }}" # Recommended if you intend to make multiple deployments in quick succession.
runs-on: "ubuntu-latest"
needs: "check-early-exit"
if: "needs.check-early-exit.outputs.should-deploy == 'true'"
environment:
name: "github-pages"
url: "${{ steps.deployment.outputs.page_url }}"
steps:
- uses: "dawidd6/action-download-artifact@v3"
with:
workflow: "ci.yml"
workflow: "build.yml"
name: "frontend"
path: "./public"
allow_forks: false
- uses: "dawidd6/action-download-artifact@v3"
with:
workflow: "ci.yml"
workflow: "build.yml"
name: "logo"
path: "./public"
- run: "ls -l -R ./public"
- uses: "JamesIves/github-pages-deploy-action@v4"
with:
folder: "public"
allow_forks: false
- uses: "svenstaro/upload-release-action@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
@@ -54,4 +43,10 @@ jobs:
tag: "${{ github.ref }}"
overwrite: true
file_glob: true
- uses: "actions/configure-pages@v4"
- uses: "actions/upload-pages-artifact@v3"
with:
path: 'public'
- id: "deployment"
uses: "actions/deploy-pages@v4"

View File

@@ -14,11 +14,11 @@ in a web browser.
- Control clipping planes and transparency of each model.
- Select any entity and measure bounding box size and distances.
- Fully-featured [static deployment](#static-deployment): just upload the viewer and models to your server.
- [Live lazy updates](#live-updates) while editing the CAD model (using the [yacv_server](yacv_server)).
- [Live lazy updates](#live-updates) while editing the CAD model (using the `yacv-server` package).
## Usage & demo
The latest build is available at https://yeicor-3d.github.io/yet-another-cad-viewer/.
The [logo](yacv_server/logo.py) also works as an example of how to use the viewer.
### Live updates