chore(deps): update actions/checkout action to v4 #197
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: ci | |
on: push | |
permissions: | |
contents: write | |
issues: write | |
pull-requests: write | |
jobs: | |
# example splitting all tests across GitHub machines | |
prepare: | |
runs-on: ubuntu-22.04 | |
# explicitly set the output of this job | |
# so that other jobs can use it | |
outputs: | |
matrix: ${{ steps.prepare.outputs.matrix }} | |
steps: | |
# generate the list using a bash script | |
- name: Create matrix ⊹ | |
id: prepare | |
# for reusable workflow, must use the full action reference | |
uses: bahmutov/[email protected] | |
with: | |
n: 3 # number of containers to output | |
- name: Print result 🖨 | |
run: echo '${{ steps.prepare.outputs.matrix }}' | |
# two jobs that split 2 explicit specs | |
test-spec: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
containers: [1, 2] | |
steps: | |
- name: Checkout 🛎 | |
uses: actions/checkout@v4 | |
- name: Run split Cypress E2E tests 🧪 | |
# https://github.com/cypress-io/github-action | |
uses: cypress-io/github-action@v5 | |
with: | |
build: npm run test-names | |
# using operating system process environment variables | |
env: | |
SPEC: 'cypress/e2e/spec-b.cy.js,cypress/e2e/spec-e.cy.js' | |
SPLIT: ${{ strategy.job-total }} | |
SPLIT_INDEX: ${{ strategy.job-index }} | |
test-split: | |
needs: prepare | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.prepare.outputs.matrix) }} | |
steps: | |
- name: Checkout 🛎 | |
uses: actions/checkout@v4 | |
- name: Print GitHub variables 🖨 | |
run: npx @bahmutov/print-env GITHUB | |
- name: Print GitHub strategy context 🖨 | |
run: echo '${{ toJSON(strategy) }}' | |
- name: Run split Cypress tests 🧪 | |
# https://github.com/cypress-io/github-action | |
uses: cypress-io/github-action@v5 | |
with: | |
build: npm run test-names | |
# using operating system process environment variables | |
env: | |
SPLIT: ${{ strategy.job-total }} | |
SPLIT_INDEX: ${{ strategy.job-index }} | |
test-empty: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout 🛎 | |
uses: actions/checkout@v4 | |
- name: Run an empty Cypress split 🧪 | |
# https://github.com/cypress-io/github-action | |
uses: cypress-io/github-action@v5 | |
with: | |
build: npm run deps | |
command: npm run empty | |
test-workflow-e2e: | |
# https://github.com/bahmutov/cypress-workflows | |
uses: bahmutov/cypress-workflows/.github/workflows/split.yml@v1 | |
with: | |
n: 3 | |
test-workflow-component: | |
# https://github.com/bahmutov/cypress-workflows | |
uses: bahmutov/cypress-workflows/.github/workflows/split.yml@v1 | |
with: | |
component: true | |
n: 2 | |
release: | |
if: github.ref == 'refs/heads/main' | |
needs: | |
[ | |
test-empty, | |
test-split, | |
test-spec, | |
test-workflow-e2e, | |
test-workflow-component, | |
] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout 🛎 | |
uses: actions/checkout@v4 | |
- name: Semantic Release 🚀 | |
uses: cycjimmy/semantic-release-action@v3 | |
with: | |
branch: main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |