Skip to content

Package Runtime

Package Runtime #20

name: Package Runtime
on:
workflow_dispatch:
push:
tags:
- "v*"
jobs:
package-runtime:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm build
- name: Upload schema.json to R2
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
AWS_REGION: auto
AWS_DEFAULT_REGION: auto
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_BUCKET_NAME: ${{ secrets.R2_BUCKET_NAME }}
run: |
aws s3 cp "dist/schema.json" "s3://${R2_BUCKET_NAME}/assets/schema.json" \
--endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com" \
--content-type "application/json" \
--cache-control "public, max-age=60, must-revalidate"
- name: Package runtime
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
run: pnpm package:runtime dist-runtime
- name: Read version
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
run: |
CLI_VERSION=$(node -p "require('./package.json').version")
echo "CLI_VERSION=$CLI_VERSION" >> $GITHUB_ENV
- name: Upload runtime package to R2
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
AWS_REGION: auto
AWS_DEFAULT_REGION: auto
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_BUCKET_NAME: ${{ secrets.R2_BUCKET_NAME }}
run: |
OBJECT_KEY="cli/citepo/${CLI_VERSION}/citepo-cli.tar.gz"
aws s3 cp "dist-runtime/citepo-cli-${CLI_VERSION}.tar.gz" "s3://${R2_BUCKET_NAME}/${OBJECT_KEY}" \
--endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com"
aws s3 cp "dist-runtime/citepo-cli-${CLI_VERSION}.tar.gz.sha256" "s3://${R2_BUCKET_NAME}/${OBJECT_KEY}.sha256" \
--endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com"