mirror of
https://github.com/mandiant/capa.git
synced 2025-12-26 04:41:13 -08:00
This commit - - fixes a a typo in package.json (outDir) - sets the href of the zip file to ./ - moves the zip asset to the public dir. Note: public dir is a special dir which hosts files that would be served as is, so it makes sense to put the release for download there.
90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
name: deploy web to GitHub Pages
|
|
|
|
on:
|
|
push:
|
|
branches: [ master, "wb/webui-actions-1" ]
|
|
paths:
|
|
- 'web/**'
|
|
|
|
# Allows to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
# Allow one concurrent deployment
|
|
concurrency:
|
|
group: 'pages'
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-landing-page:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: landing-page
|
|
path: './web/public'
|
|
|
|
build-explorer:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: 'recursive'
|
|
fetch-depth: 1
|
|
show-progress: true
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: 'npm'
|
|
cache-dependency-path: './web/explorer/package-lock.json'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
working-directory: ./web/explorer
|
|
- name: Generate release bundle
|
|
run: npm run build:bundle
|
|
working-directory: ./web/explorer
|
|
- name: Zip release bundle
|
|
run: zip -r public/capa-explorer-web.zip capa-explorer-web
|
|
working-directory: ./web/explorer
|
|
- name: Build
|
|
run: npm run build
|
|
working-directory: ./web/explorer
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: explorer
|
|
path: './web/explorer/dist'
|
|
|
|
deploy:
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
runs-on: ubuntu-latest
|
|
needs: [build-landing-page, build-explorer]
|
|
steps:
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: landing-page
|
|
path: './public/'
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: explorer
|
|
path: './public/explorer'
|
|
- name: Setup Pages
|
|
uses: actions/configure-pages@v4
|
|
- name: Upload artifact
|
|
uses: actions/upload-pages-artifact@v3
|
|
with:
|
|
path: './public'
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v4
|