Skip to content

Publish release assets #34

Publish release assets

Publish release assets #34

name: Publish release assets
on:
workflow_dispatch:
schedule:
- cron: "0 */4 * * *"
permissions:
contents: write
pages: write
id-token: write
concurrency:
group: publish-release-assets
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
environment:
name: github-pages
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm install --no-audit --no-fund
- name: Set tag
run: echo "TAG=data-$(date -u +'%Y%m%d-%H%M')" >> "$GITHUB_ENV"
- name: Generate release assets
env:
MW_OUTPUT_DIR: release-assets
MW_CONCURRENCY: "12"
MW_RETRY_COUNT: "3"
MW_RETRY_DELAY_MS: "90000"
MW_RETRY_BACKOFF: "2"
MW_RETRY_JITTER_MS: "15000"
MW_IP_SHARD_GROUP_SIZE: "16"
MW_RANGE_SHARD_GROUP_SIZE: "16"
MW_WRITE_JSONL: "0"
run: |
rm -rf release-assets
npm run generate:site
- name: Checksums
run: |
cd release-assets
find . -maxdepth 1 -type f -print0 | xargs -0 sha256sum > SHA256SUMS.txt
- name: Create GitHub Release and upload assets
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.TAG }}
name: MalwareWorld data ${{ env.TAG }}
make_latest: true
files: |
release-assets/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare Pages artifact (docs + data)
run: |
rm -rf pages
mkdir -p pages
cp -R docs/. pages/
mkdir -p pages/data
cp -R release-assets/* pages/data/
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: pages
- name: Deploy Pages
id: deployment
uses: actions/deploy-pages@v4