Manually triggered CDN upload #8
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: Manually triggered CDN upload | |
on: | |
workflow_dispatch: | |
inputs: | |
package: | |
description: Package to upload | |
required: true | |
type: choice | |
options: | |
- uppy | |
- '@uppy/locales' | |
version: | |
description: Version to upload (from npm) | |
type: string | |
force: | |
description: --force | |
type: boolean | |
default: false | |
env: | |
YARN_ENABLE_GLOBAL_CACHE: false | |
jobs: | |
upload: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: | |
echo "dir=$(corepack yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
- name: Install upload-to-cdn dependencies | |
if: ${{ inputs.version }} | |
run: corepack yarn workspaces focus @uppy-dev/upload-to-cdn | |
env: | |
# https://docs.cypress.io/guides/references/advanced-installation#Skipping-installation | |
CYPRESS_INSTALL_BINARY: 0 | |
- name: Install all dependencies | |
if: ${{ !inputs.version }} | |
run: corepack yarn install --immutable | |
env: | |
# https://docs.cypress.io/guides/references/advanced-installation#Skipping-installation | |
CYPRESS_INSTALL_BINARY: 0 | |
- name: Build before publishing | |
if: ${{ !inputs.version }} | |
run: corepack yarn run build | |
- name: Upload "${{ inputs.package }}" to CDN | |
if: ${{ !inputs.force }} | |
run: corepack yarn run uploadcdn "$PACKAGE" "$VERSION" | |
env: | |
PACKAGE: ${{inputs.package}} | |
VERSION: ${{inputs.version}} | |
EDGLY_KEY: ${{secrets.EDGLY_KEY}} | |
EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} | |
- name: Upload "${{ inputs.package }}" to CDN | |
if: ${{ inputs.force }} | |
run: corepack yarn run uploadcdn "$PACKAGE" "$VERSION" -- --force | |
env: | |
PACKAGE: ${{inputs.package}} | |
VERSION: ${{inputs.version}} | |
EDGLY_KEY: ${{secrets.EDGLY_KEY}} | |
EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} |