70 lines
2.1 KiB
YAML
70 lines
2.1 KiB
YAML
name: Push @workadventure/iframe-api-typings to NPM
|
|
on:
|
|
release:
|
|
types: [created]
|
|
push:
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
# Setup .npmrc file to publish to npm
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '14.x'
|
|
registry-url: 'https://registry.npmjs.org'
|
|
|
|
- name: Replace version number
|
|
run: 'sed -i "s#VERSION_PLACEHOLDER#${GITHUB_REF/refs\/tags\//}#g" package.json'
|
|
working-directory: "front/packages/iframe-api-typings"
|
|
|
|
- name: Debug package.json
|
|
run: cat package.json
|
|
working-directory: "front/packages/iframe-api-typings"
|
|
|
|
- name: Install Protoc
|
|
uses: arduino/setup-protoc@v1
|
|
with:
|
|
version: '3.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install
|
|
working-directory: "front"
|
|
|
|
- name: "Install messages dependencies"
|
|
run: yarn install
|
|
working-directory: "messages"
|
|
|
|
- name: "Build proto messages"
|
|
run: yarn run proto && yarn run copy-to-front
|
|
working-directory: "messages"
|
|
|
|
- name: "Create index.html"
|
|
run: ./templater.sh
|
|
working-directory: "front"
|
|
|
|
- name: "Build"
|
|
run: yarn run build-typings
|
|
env:
|
|
PUSHER_URL: "//localhost:8080"
|
|
ADMIN_URL: "//localhost:80"
|
|
working-directory: "front"
|
|
|
|
# We build the front to generate the typings of iframe_api, then we copy those typings in a separate package.
|
|
- name: Copy typings to package dir
|
|
run: cp front/dist/src/iframe_api.d.ts front/packages/iframe-api-typings/iframe_api.d.ts
|
|
|
|
- name: Copy typings to package dir (2)
|
|
run: cp -R front/dist/src/Api front/packages/iframe-api-typings/Api
|
|
|
|
- name: Install dependencies in package
|
|
run: yarn install
|
|
working-directory: "front/packages/iframe-api-typings"
|
|
|
|
- name: Publish package
|
|
run: yarn publish
|
|
working-directory: "front/packages/iframe-api-typings"
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
if: ${{ github.event_name == 'release' }}
|