v0.7.0 #20
Workflow file for this run
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 commit | |
on: | |
release: | |
types: [published] | |
env: | |
PR_BRANCH_NAME: release-${{ github.event.release.tag_name }} | |
PRE_RELEASE: ${{ github.event.release.prerelease}} | |
jobs: | |
unit-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.repository.default_branch }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: npm ci | |
- name: Run unit tests | |
run: npm test | |
integration-tests: | |
runs-on: ubuntu-latest | |
needs: unit-tests | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.repository.default_branch }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: npm ci | |
- name: Run integration tests | |
run: npm run if-check -- -d manifests/outputs | |
publish: | |
runs-on: ubuntu-latest | |
needs: integration-tests | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.repository.default_branch }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: npm ci | |
- name: Initialize git user email | |
run: git config --global user.email "${{ vars.RELEASE_USER_EMAIL }}" | |
- name: Initialize git user name | |
run: git config --global user.name "Release commit workflow" | |
- name: Fetch latest changes | |
run: git fetch --all | |
- name: Checkout to release branch if it's not a pre-release | |
if: ${{!env.PRE_RELEASE}} | |
run: git checkout ${{ vars.RELEASE_BRANCH_NAME }} | |
- name: Checkout to current release branch to create PR from | |
run: | | |
git checkout -b $PR_BRANCH_NAME | |
git push --set-upstream origin $PR_BRANCH_NAME | |
- name: Bump version and push changes using release-it | |
run: | | |
npm run release -- --ci ${{ github.event.release.tag_name }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create pull request | |
run: gh pr create -B ${{ vars.RELEASE_BRANCH_NAME }} -H $PR_BRANCH_NAME --title "Release ${{github.event.release.tag_name}}" --body "${{github.event.release.body}}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |