Deploy Tracker Prerelease #19
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: Deploy Tracker Prerelease | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'The prerelease tag' | |
required: true | |
jobs: | |
deploy: | |
runs-on: ubuntu-20.04 | |
env: | |
NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
BROWSERSLIST_IGNORE_OLD_DATA: true | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: pnpm cache | |
uses: actions/cache@v3 | |
with: | |
path: ./common/temp/pnpm-store | |
key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} | |
restore-keys: ${{ runner.os }}-pnpm- | |
- name: Rush Install | |
run: node common/scripts/install-run-rush.js install | |
- name: Setup git | |
uses: oleksiyrudenko/[email protected] | |
with: | |
token: '${{ secrets.GITHUB_TOKEN }}' | |
name: github-actions[bot] | |
email: 41898282+github-actions[bot]@users.noreply.github.com | |
- name: Rush Version | |
run: node common/scripts/install-run-rush.js version --bump --ignore-git-hooks | |
- name: Get version | |
id: version | |
run: echo "TRACKER_VERSION=$(node -p "require('./trackers/javascript-tracker/package.json').version")" >> $GITHUB_OUTPUT | |
- name: Fail if version mismatch | |
if: ${{ github.event.inputs.version != steps.version.outputs.TRACKER_VERSION }} | |
run: | | |
echo "Input version (${{ github.event.inputs.version }}) doesn't match version in project (${{ steps.version.outputs.TRACKER_VERSION }})" | |
exit 1 | |
- name: Rush Build | |
run: node common/scripts/install-run-rush.js rebuild --verbose | |
- name: Rush Test | |
run: node common/scripts/install-run-rush.js test --verbose | |
- name: Install API Extractor & Documenter | |
run: npm install -g @microsoft/[email protected] @microsoft/[email protected] | |
- name: Create API documentation for @snowplow/browser-tracker | |
working-directory: ./trackers/browser-tracker | |
run: | | |
api-extractor run | |
api-documenter markdown --input-folder temp --output-folder docs/markdown | |
- name: Create API documentation for @snowplow/node-tracker | |
working-directory: ./trackers/node-tracker | |
run: | | |
api-extractor run | |
api-documenter markdown --input-folder temp --output-folder docs/markdown | |
- name: Rush Publish | |
run: node common/scripts/install-run-rush.js publish --apply --include-all --publish --tag next --set-access-level public --ignore-git-hooks | |
- name: Generate Release Information | |
id: tag_version | |
uses: mathieudutour/[email protected] | |
with: | |
dry_run: true | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
tag_prefix: '' | |
default_bump: false | |
custom_tag: ${{ github.event.inputs.version }} | |
- name: Tag release | |
run: | | |
git tag -a ${{ steps.tag_version.outputs.new_tag }} -m "Version ${{ steps.tag_version.outputs.new_tag }}" | |
git push --tags | |
- name: Zip plugins | |
run: zip -r plugins.umd.zip ./plugins/*/dist/*.umd*.js* | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: Version ${{ steps.tag_version.outputs.new_tag }} | |
tag_name: ${{ steps.tag_version.outputs.new_tag }} | |
body: ${{ steps.tag_version.outputs.changelog }} | |
prerelease: true | |
files: | | |
./trackers/javascript-tracker/dist/sp.js | |
./trackers/javascript-tracker/dist/sp.js.map | |
./trackers/javascript-tracker/dist/sp.lite.js | |
./trackers/javascript-tracker/dist/sp.lite.js.map | |
./plugins.umd.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |