mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-12-19 05:19:42 +08:00
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/checkout](https://redirect.github.com/actions/checkout) | action | patch | `v5.0.0` -> `v5.0.1` | --- ### Release Notes <details> <summary>actions/checkout (actions/checkout)</summary> ### [`v5.0.1`](https://redirect.github.com/actions/checkout/compare/v5.0.0...v5.0.1) [Compare Source](https://redirect.github.com/actions/checkout/compare/v5.0.0...v5.0.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
141 lines
4.6 KiB
YAML
141 lines
4.6 KiB
YAML
name: 'Ionic Production Release'
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
version:
|
|
description: 'Which version should be published?'
|
|
required: true
|
|
type: string
|
|
tag:
|
|
description: 'Which npm tag should this be published to?'
|
|
required: true
|
|
type: string
|
|
preid:
|
|
description: 'Which prerelease identifier should be used? This is only needed when version is "prepatch", "preminor", "premajor", or "prerelease".'
|
|
required: false
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
|
|
jobs:
|
|
validate_version:
|
|
name: ✅ Validate Version Input
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🔎 Ensure version is allowed
|
|
env:
|
|
VERSION: ${{ inputs.version }}
|
|
run: |
|
|
case "$VERSION" in
|
|
patch|minor|major|prepatch|preminor|premajor|prerelease)
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "::error::Invalid version input: '$VERSION'. Allowed values: patch, minor, major, prepatch, preminor, premajor, prerelease."
|
|
exit 1
|
|
;;
|
|
esac
|
|
shell: bash
|
|
|
|
release-ionic:
|
|
needs: [validate_version]
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
uses: ./.github/workflows/release-ionic.yml
|
|
with:
|
|
tag: ${{ inputs.tag }}
|
|
version: ${{ inputs.version }}
|
|
preid: ${{ inputs.preid }}
|
|
|
|
finalize-release:
|
|
needs: [release-ionic]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
|
|
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
|
|
|
|
update-package-lock:
|
|
# This needs to run after finalize-release
|
|
# because we also push to the repo in that
|
|
# job. If these jobs ran in parallel then it is
|
|
# possible for them to push at the same time.
|
|
needs: [finalize-release]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
|
|
# Pull the latest version of the reference
|
|
# branch instead of the revision that triggered
|
|
# the workflow otherwise we won't get the commit
|
|
# created in the previous job and this next job
|
|
# will fail.
|
|
with:
|
|
ref: ${{ github.ref }}
|
|
- name: Configure Identity
|
|
# Commits from github-actions do not
|
|
# trigger other GitHub Actions. As a result,
|
|
# we push 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
|
|
# 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
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
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@7/dist/ionic/ionic.esm.js",
|
|
"/npm/@ionic/core@8/dist/ionic/ionic.esm.js",
|
|
"/npm/@ionic/core@latest/dist/ionic/ionic.esm.js",
|
|
"/npm/@ionic/core@next/dist/ionic/ionic.esm.js",
|
|
"/npm/@ionic/core@6/css/ionic.bundle.css",
|
|
"/npm/@ionic/core@7/css/ionic.bundle.css",
|
|
"/npm/@ionic/core@8/css/ionic.bundle.css",
|
|
"/npm/@ionic/core@latest/css/ionic.bundle.css"
|
|
"/npm/@ionic/core@next/css/ionic.bundle.css"
|
|
]}'
|
|
shell: bash
|