Skip to content

release nga-msi plugin #1

release nga-msi plugin

release nga-msi plugin #1

name: release nga-msi plugin
on:
workflow_dispatch:
inputs:
version:
description: The version you want to assign to the release
type: string
required: true
# TODO: possibly use release branches to perform the release process
# push:
# branches:
# - release/*
# - prerelease/*
# TODO: possibly use release event to perform the release process
# release:
jobs:
config:
uses: ./.github/workflows/config.yaml
check_release_version:
needs: [config]
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: ${{ needs.config.outputs.node_versions-lts }}
- name: install json util
run: npm i -g json
- name: check service
run: |
[[ $(json version < ./plugins/nga-msi/package.json) = ${{ inputs.version }} ]] || exit 1
build_and_test-service:
needs: [check_release_version]
uses: ./.github/workflows/build_test.nga-msi.yaml
publish_packages:
name: publish packages
needs: [config, build_and_test-service]
runs-on: ubuntu-latest
steps:
- name: setup node
uses: actions/setup-node@v3
with:
node-version: ${{ needs.config.outputs.node_versions-lts }}
- name: install json util
run: npm i -g json
- name: download service packages
uses: actions/download-artifact@v4
with:
name: nga-msi-artifacts
- name: publish to package registry
run: |
npm config set -- '//registry.npmjs.org/:_authToken' ${{ secrets.NPM_TOKEN }}
npm publish --access public $(ls -1 ngageoint-mage.nga-msi-*.tgz)