Merge pull request #817 from gisce/sync/v2-to-v2-develop-20250108-131515 #728
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: Release | |
env: | |
LIBRARY_NAME: "gisce/react-ooui" | |
on: | |
push: | |
branches: | |
- v2 | |
- v2-develop | |
- alpha | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: false | |
jobs: | |
release: | |
if: '!contains(github.event.head_commit.message, ''[skip ci]'')' | |
name: Release | |
runs-on: ubuntu-latest | |
outputs: | |
release_type: ${{ steps.get_release_type.outputs.release_type }} | |
tag_name: ${{ steps.get_tag_name.outputs.tag_name }} | |
branch_name: ${{ steps.get_branch_name.outputs.branch_name }} | |
steps: | |
- name: Setup Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '20.5.0' | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Sync with Remote Branch | |
run: | | |
git fetch origin | |
git reset --hard origin/${{ github.ref_name }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
NPM_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} | |
run: npx semantic-release | |
- name: Capture Release Type | |
id: get_release_type | |
run: | | |
if [ -f ".release-type" ]; then | |
release_type=$(cat .release-type) | |
echo "release_type=$release_type" >> $GITHUB_OUTPUT | |
else | |
echo "release_type=none" >> $GITHUB_OUTPUT | |
fi | |
shell: bash | |
- name: Capture Tag Name | |
id: get_tag_name | |
run: | | |
if [ -f ".release-tag" ]; then | |
tag_name=$(cat .release-tag) | |
echo "tag_name=$tag_name" >> $GITHUB_OUTPUT | |
else | |
echo "tag_name=none" >> $GITHUB_OUTPUT | |
fi | |
shell: bash | |
- name: Capture Branch Name | |
id: get_branch_name | |
run: echo "branch_name=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT | |
shell: bash | |
update-dependents: | |
name: Update dependent projects | |
needs: release | |
if: needs.release.outputs.release_type != 'none' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- project: "gisce/webclient" | |
# modify this in case that branches are not equivalent and exist between projects | |
branch: ${{ needs.release.outputs.branch_name }} | |
steps: | |
- name: Call update version dependency flow for each project | |
uses: gisce/[email protected] | |
with: | |
dependentProject: ${{ matrix.project }} | |
tagName: ${{ needs.release.outputs.tag_name }} | |
dependentProjectBranch: ${{ matrix.branch }} | |
libraryName: ${{ env.LIBRARY_NAME }} | |
githubToken: ${{ secrets.GH_PAT }} | |
releaseType: ${{ needs.release.outputs.release_type }} | |
create-sync-prs: | |
name: Create sync PRs | |
needs: release | |
if: github.ref == 'refs/heads/v2' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['alpha', 'v2-develop'] | |
steps: | |
- name: Call create sync pr | |
uses: gisce/[email protected] | |
with: | |
repository: ${{ env.LIBRARY_NAME }} | |
targetBranch: ${{ matrix.target }} | |
baseBranch: v2 | |
githubToken: ${{ secrets.GH_PAT }} | |
releaseType: ${{ needs.release.outputs.release_type }} |