chore(repo): enable production releases #14
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: 'Production Release (TEST)' | |
on: | |
# TODO(NOW): remove this | |
push: | |
branches: | |
- 'rw/prod-release-flow' | |
workflow_dispatch: | |
inputs: | |
version: | |
required: true | |
type: choice | |
description: Which version should be published? | |
# TODO(NOW): Remove | |
default: prepatch | |
options: | |
- prerelease | |
- prepatch | |
- preminor | |
- premajor | |
- patch | |
- minor | |
- major | |
jobs: | |
build_stencil_store: | |
name: Build | |
uses: ./.github/workflows/build.yml | |
release_store_stencil: | |
name: Publish Dev Build | |
runs-on: ubuntu-latest | |
needs: [ build_stencil_store ] | |
permissions: | |
contents: write | |
id-token: write | |
steps: | |
# Log the input from GitHub Actions for easy traceability | |
- name: Log GitHub Input | |
run: | | |
echo "Version: ${{ inputs.version }}" | |
shell: bash | |
- name: Checkout Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Get Core Dependencies | |
uses: ./.github/workflows/actions/get-core-dependencies | |
# - name: Build | |
# uses: ./.github/workflows/build.yml | |
- name: Download Build Archive | |
uses: ./.github/workflows/actions/download-archive | |
with: | |
name: stencil-store | |
path: . | |
filename: stencil-store-build.zip | |
- name: Bump the Version | |
# TODO(NOW): Fix | |
run: npm version prepatch --no-git-tag | |
- name: Log Generated Changes | |
run: git --no-pager diff | |
shell: bash | |
# Commit changes resulting from bumping the version | |
# Note: The commit message is the result of performing the following actions: | |
# 1. Searching `package.json` for the string "version" | |
# 2. Assuming the first entry returned corresponds to this project's the version string | |
# 3. Stripping out all double quotes and commas from the version itself ($2 in awk corresponds to only the version here) | |
# 4. Printing the version string, prepended with a 'v' for 'version' | |
- name: Commit Release Preparations | |
run: | | |
git config user.name "Stencil Release Bot (on behalf of ${{ github.actor }})" | |
git config user.email "stencil-release-bot@ionic.io" | |
git add . | |
git commit -m "$(cat package.json | grep version | head -n 1 | awk '{ gsub(/"|,/, "", $2); print "v"$2}')" | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
shell: bash | |
- name: Push Branch to GitHub | |
run: | | |
git push origin | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Build Artifacts | |
uses: ./.github/workflows/actions/upload-archive | |
with: | |
# TODO(NOW): I just renamed this | |
name: stencil-store-for-publish | |
output: stencil-store-build-for-publish.zip | |
paths: ./dist/ |