Files
yet-another-cad-viewer/.github/workflows/deploy.yml
2024-03-03 19:52:18 +01:00

58 lines
1.8 KiB
YAML

name: "maybe deploy"
on:
workflow_run:
workflows: [ "build" ]
types: [ "completed" ]
branches: [ "master" ]
permissions:
contents: "write"
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'"
steps:
- uses: "dawidd6/action-download-artifact@v3"
with:
workflow: "ci.yml"
name: "frontend"
path: "./public"
- uses: "dawidd6/action-download-artifact@v3"
with:
workflow: "ci.yml"
name: "logo"
path: "./public"
- run: "ls -l -R ./public"
- uses: "JamesIves/github-pages-deploy-action@v4"
with:
folder: "public"
- uses: "svenstaro/upload-release-action@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
file: "./public/*"
asset_name: "frontend"
tag: "${{ github.ref }}"
overwrite: true
file_glob: true