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: on:
push: push:
branches: branches:

View File

@@ -1,51 +1,40 @@
name: "maybe deploy"
on: on:
workflow_run: push:
workflows: [ "build" ] tags:
types: [ "completed" ] - "v**"
branches: [ "master" ] workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions: 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: 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: deploy:
concurrency: "ci-${{ github.ref }}" # Recommended if you intend to make multiple deployments in quick succession.
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
needs: "check-early-exit" environment:
if: "needs.check-early-exit.outputs.should-deploy == 'true'" name: "github-pages"
url: "${{ steps.deployment.outputs.page_url }}"
steps: steps:
- uses: "dawidd6/action-download-artifact@v3" - uses: "dawidd6/action-download-artifact@v3"
with: with:
workflow: "ci.yml" workflow: "build.yml"
name: "frontend" name: "frontend"
path: "./public" path: "./public"
allow_forks: false
- uses: "dawidd6/action-download-artifact@v3" - uses: "dawidd6/action-download-artifact@v3"
with: with:
workflow: "ci.yml" workflow: "build.yml"
name: "logo" name: "logo"
path: "./public" path: "./public"
- run: "ls -l -R ./public" allow_forks: false
- uses: "JamesIves/github-pages-deploy-action@v4"
with:
folder: "public"
- uses: "svenstaro/upload-release-action@v2" - uses: "svenstaro/upload-release-action@v2"
with: with:
repo_token: "${{ secrets.GITHUB_TOKEN }}" repo_token: "${{ secrets.GITHUB_TOKEN }}"
@@ -54,4 +43,10 @@ jobs:
tag: "${{ github.ref }}" tag: "${{ github.ref }}"
overwrite: true overwrite: true
file_glob: 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. - Control clipping planes and transparency of each model.
- Select any entity and measure bounding box size and distances. - 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. - 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 ## 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 ### Live updates