Download and Build Pixiv #144
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Download and Build Pixiv | |
on: | |
workflow_dispatch: | |
schedule: | |
# Once a day at midnight | |
- cron: '0 0 * * *' | |
jobs: | |
build-dict: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get latest Pixiv dump URL | |
id: get_url | |
uses: actions/github-script@v5 | |
with: | |
script: | | |
const repo = "MarvNC/pixiv-dump" | |
const releases = await github.rest.repos.listReleases({ | |
owner: repo.split('/')[0], | |
repo: repo.split('/')[1] | |
}) | |
const latestRelease = releases.data[0] | |
const asset = latestRelease.assets.find(asset => asset.name === 'pixiv.db') | |
if (!asset) { | |
throw new Error('Asset not found') | |
} | |
return asset.browser_download_url | |
- name: Download latest dump | |
run: wget -P db "${{ steps.get_url.outputs.result }}" | |
- name: Install Dependencies | |
run: npm ci | |
- name: Build Dictionary | |
run: npm run start | |
env: | |
NODE_OPTIONS: --max-old-space-size=4096 | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dist | |
path: dist/* | |
publish-release: | |
needs: build-dict | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- name: Get Current Date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%d')" | |
- name: Create and Publish Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: dist/* | |
tag_name: ${{ steps.date.outputs.date }} | |
name: ${{ steps.date.outputs.date }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
This is an automated release of the latest Pixiv for Yomitan. | |
Please check the [README](https://github.com/MarvNC/pixiv-yomitan) for more information. |