name: 'Ionic Production Release' on: workflow_dispatch: inputs: version: required: true type: choice description: Which version should be published? options: - patch - minor - major tag: required: true type: choice description: Which npm tag should this be published to? options: - latest - v5-lts - v4-lts jobs: build-ionic: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: token: ${{ secrets.IONITRON_TOKEN }} fetch-depth: 0 - uses: actions/setup-node@v2 with: node-version: 16 - name: Configure Identity run: | git config user.name github-actions git config user.email github-actions@github.com shell: bash - name: Install Dependencies run: npm ci --no-package-lock && lerna bootstrap --ignore-scripts -- --legacy-peer-deps shell: bash - name: Prepare NPM Token run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc shell: bash env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Release run: | HUSKY_SKIP_HOOKS=1 lerna publish $(echo "${{ github.event.inputs.version }}") --no-verify-access --yes --force-publish='*' --dist-tag $(echo "${{ github.event.inputs.tag }}") --conventional-commits --create-release github env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} shell: bash # Lerna does not automatically bump versions # of Ionic dependencies that have changed, # so we do that here. - name: Bump Package Lock run: | lerna exec "npm install --package-lock-only --legacy-peer-deps" git config user.name ionitron git config user.email hi@ionicframework.com git add . git commit -m "chore(): update package lock files" git push