Skip to content

Release IPA Package #30

Release IPA Package

Release IPA Package #30

Workflow file for this run

name: Release IPA Package
on:
workflow_dispatch:
inputs:
workflow_call:
description: 'To distinguish workflow_call from regular push'
type: boolean
required: false
default: true
use_existing_tag:
description: 'Set value to `true` to use an existing tag for the release process, default is `false`'
default: 'false'
push:
branches:
- main
paths:
- 'tools/spectral/ipa/package.json'
jobs:
check-version:
runs-on: ubuntu-latest
outputs:
version_changed: ${{ steps.version_check.outputs.version_changed }}
current_version: ${{ steps.version_check.outputs.current_version }}
steps:
- name: Checkout Repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
fetch-depth: 0
sparse-checkout: |
tools/spectral/ipa
.github/scripts
- name: Fetch Versions
id: version_check
env:
BASE_BRANCH: "main~1"
run: |
version_changed=$(./.github/scripts/ipa_version_check.sh)
echo "Version changed? ${version_changed}"
echo "version_changed=${version_changed}" >> "${GITHUB_OUTPUT}"
current_version=$(jq -r '.version' tools/spectral/ipa/package.json)
echo "Current version: ${current_version}"
echo "current_version=${current_version}" >> "${GITHUB_OUTPUT}"
create-tag:
runs-on: ubuntu-latest
needs: check-version
if: >-
!cancelled()
&& (!inputs.use_existing_tag || inputs.use_existing_tag == 'false')
&& needs.check-version.outputs.version_changed == 'true'
steps:
- name: Validation of version format
run: |
echo "${{ needs.check-version.outputs.current_version }}" | grep -P '^\d+\.\d+\.\d+$'
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Get the latest commit SHA
id: get-sha
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- name: Test
run: echo "creating tag ipa-validation-ruleset-v${{needs.check-version.outputs.current_version}} for sha ${{steps.get-sha.outputs.sha}}"
# - name: Create release tag
# uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72
# with:
# tag: 'ipa-validation-ruleset-v${{ needs.check-version.outputs.current_version }}'
# commit_sha: ${{ steps.get-sha.outputs.sha }}
# gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
# gpg_passphrase: ${{ secrets.PASSPHRASE }}
# publish:
# needs: check-version
# runs-on: ubuntu-latest
# permissions:
# contents: read
# id-token: write
# if: ${{ needs.check-version.outputs.version_changed == 'true' || inputs.workflow_call }}
# steps:
# - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
# - uses: actions/setup-node@v4
# with:
# node-version: '20.x'
# registry-url: 'https://registry.npmjs.org'
# - run: npm ci
# working-directory: tools/spectral/ipa
# - run: npm publish --access public
# working-directory: tools/spectral/ipa
# env:
# NODE_AUTH_TOKEN: ${{ secrets.IPA_VALIDATION_NPM_TOKEN }}