Skip to content

Overlay enhacements (#35) #25

Overlay enhacements (#35)

Overlay enhacements (#35) #25

Workflow file for this run

name: Publish package to GitHub Packages
on:
push:
branches:
- main
paths-ignore:
- package.json
release:
types: [published]
# FIXME workflow_dispatch should not be needed
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
publish:
# Forbid manual execution on non-main branches
if: github.ref_name == 'main'
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
-
uses: actions/checkout@v4
-
# Setup .npmrc file to publish to GitHub Packages
uses: actions/setup-node@v3
with:
node-version: '20.x'
registry-url: 'https://npm.pkg.github.com'
# Defaults to the user or organization that owns the workflow file
scope: '@datalayer'
-
run: |
corepack enable
yarn set version 3.5.0
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
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('**/package.json') }}
restore-keys: |
${{ runner.os }}-yarn-
-
run: |
yarn install
yarn run build
-
if: github.event_name == 'push'
# Bump the version
run: |
npm version --preid dev --no-git-tag-version prerelease
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add package.json
git commit -m "Bump dev version"
npm publish --tag next
-
if: github.event_name != 'push'
run: |
npm publish
-
if: github.event_name == 'push'
# Push version bump
run: |
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Keep only the 3 latest pre releases
- uses: actions/delete-package-versions@v4
with:
package-name: 'primer-addons'
package-type: 'npm'
min-versions-to-keep: 3
delete-only-pre-release-versions: "true"