name: 'Ionic Production Release' on: workflow_dispatch: inputs: version: required: true type: choice description: Which version should be published? options: - patch - minor - major - prepatch - preminor - premajor - prerelease tag: required: true type: choice description: Which npm tag should this be published to? options: - latest - next - v5-lts - v4-lts preid: type: choice description: Which prerelease identifier should be used? This is only needed when version is "prepatch", "preminor", "premajor", or "prerelease". options: - '' - alpha - beta - rc - next jobs: release-ionic: permissions: id-token: write uses: ./.github/workflows/release-ionic.yml with: tag: ${{ inputs.tag }} version: ${{ inputs.version }} preid: ${{ inputs.preid }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} finalize-release: needs: [release-ionic] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: token: ${{ secrets.IONITRON_TOKEN }} fetch-depth: 0 - name: Configure Identity # Commits from github-actions do not # trigger other GitHub Actions. As a result, # we publish releases from Ionitron instead # so actions run when merging the release branch # back into main. run: | git config user.name ionitron git config user.email hi@ionicframework.com shell: bash - name: Create GitHub Release run: lerna version ${{ inputs.version }} --yes --force-publish='*' --conventional-commits --create-release github --preid=${{ inputs.preid }} 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" git add . git commit -m "chore(): update package lock files" git push shell: bash purge-cdn-cache: needs: [release-ionic] runs-on: ubuntu-latest steps: - name: Purge JSDelivr Cache run: | curl -X POST \ https://purge.jsdelivr.net/ \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "path": [ "/npm/@ionic/core@6/dist/ionic/ionic.esm.js", "/npm/@ionic/core@latest/dist/ionic/ionic.esm.js", "/npm/@ionic/core@6/css/ionic.bundle.css", "/npm/@ionic/core@latest/css/ionic.bundle.css" ]}' shell: bash