Merge CI workflows #443
Workflow file for this run
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
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs | |
name: Deploy to Github Pages | |
on: | |
schedule: | |
- cron: '0 8,12,16,20 * * *' | |
push: | |
branches: [ main ] | |
paths: | |
- 'data/**' | |
- 'raw/**' | |
- scripts/** | |
- 'viewer/**' | |
- 'package.json' | |
pull_request: | |
branches: [ main ] | |
jobs: | |
pack-and-deploy-to-gh-pages: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8.12.1 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "18.x" | |
cache: 'pnpm' | |
- name: Set Env | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'fetch') | |
run: | | |
touch .env | |
echo APP_KEY=${{ secrets.APP_KEY }} >> .env | |
echo APP_SECRET=${{ secrets.APP_SECRET }} >> .env | |
echo DROPBOX=${{ secrets.DROPBOX }} >> .env | |
- name: Install Packages | |
run: pnpm install | |
- name: Fetch Logos | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'fetch') | |
run: pnpm run fetch | |
- name: Commit changes | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
id: auto-commit-action | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'fetch') | |
with: | |
commit_message: Fetch Logos from Dropbox | |
commit_options: '--no-verify --signoff' | |
- name: Build Package | |
run: pnpm run package | |
- name: "Add changeset" | |
id: add-changeset | |
if: steps.auto-commit-action.outputs.changes_detected == 'true' | |
run: pnpm run auto-release | |
- name: Install Frontend Packages | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'deploy') | |
run: pnpm install | |
- name: Build Frontend | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'deploy') | |
run: pnpm --filter "viewer" build | |
- name: Deploy to Github Pages | |
if : github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'deploy') | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
branch: gh-pages | |
folder: ./viewer/build | |
- name: Check file existence | |
id: check_files | |
uses: andstor/file-existence-action@v3 | |
with: | |
files: "./.changeset/changeset.md" | |
- name: Changeset version | |
if: steps.check_files.outputs.files_exists == 'true' | |
run: pnpm changeset version | |
- name: Commit version | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
id: auto-commit-version | |
if: steps.check_files.outputs.files_exists == 'true' | |
with: | |
commit_message: Update version | |
commit_options: '--no-verify --signoff' | |
- name: Create Release | |
if: steps.check_files.outputs.files_exists == 'true' | |
id: changesets | |
uses: changesets/action@v1 | |
with: | |
publish: pnpm run release | |
commit: "ci: release logos package" | |
title: "ci: release logos package" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Merge main to production | |
if: steps.changesets.outputs.published == 'true' | |
uses: devmasx/merge-branch@master | |
with: | |
type: now | |
from_branch: main | |
target_branch: production | |
github_token: ${{ secrets.GITHUB_TOKEN }} |