feat: [CYCLOUD-1447] Auto-detect PR numbers #2403
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: main | |
on: | |
push: | |
branches: | |
- 'master' | |
pull_request: | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-22.04 | |
name: Build and test | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
# Action runs: using: node20 as defined in | |
# https://github.com/cypress-io/github-action/blob/master/action.yml | |
# Node.js minor version is aligned to | |
# https://github.com/actions/runner/blob/main/src/Misc/externals.sh | |
node-version: 20.5.0 | |
- uses: bahmutov/npm-install@v1 | |
- run: npm run format | |
- run: npm run build | |
- run: npm test | |
release: | |
runs-on: ubuntu-22.04 | |
name: release | |
needs: [build-and-test] | |
# only release from the master branch | |
# in parent repository, not in a fork | |
if: (github.ref == 'refs/heads/master') && | |
(github.repository == 'cypress-io/github-action') | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: bahmutov/npm-install@v1 | |
# https://github.com/cycjimmy/semantic-release-action | |
- name: Semantic Release | |
uses: cycjimmy/semantic-release-action@v3 | |
id: semantic | |
with: | |
branches: master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- name: Push updates to branch for major version | |
# if there is a new version published, let's say v1.2.3 | |
# then this step will update branch "v1" to this commit | |
# https://github.com/cypress-io/github-action/branches | |
if: steps.semantic.outputs.new_release_published == 'true' | |
run: 'git push https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:refs/heads/v${{steps.semantic.outputs.new_release_major_version}}' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |