Skip to content

Switch from yarn to npm and refactor the action code #112

Switch from yarn to npm and refactor the action code

Switch from yarn to npm and refactor the action code #112

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
# docs: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
name: 🧪 Tests
on:
push:
branches: [master, main]
tags-ignore: ['**']
paths-ignore: ['**.md']
pull_request:
paths-ignore: ['**.md']
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env: {FORCE_COLOR: 'true'}
jobs:
gitleaks:
name: Check for GitLeaks
runs-on: ubuntu-latest
steps:
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
- uses: gacts/gitleaks@v1
eslint:
name: Run code linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- {uses: gacts/setup-node-with-cache@v1, with: {node-version: 20}}
- run: npm install
- run: npm run lint
dist-built:
name: Check distributive built state
runs-on: ubuntu-latest
outputs:
dist-changed: ${{ steps.state.outputs.changed }}
steps:
- uses: actions/checkout@v4
- {uses: gacts/setup-node-with-cache@v1, with: {node-version: 20}}
- run: npm install
- run: npm run build
- uses: actions/upload-artifact@v4
with: {name: dist, path: ./dist/, retention-days: 1}
- id: state
run: echo "changed=`git diff --diff-filter=ACMUXTR --name-only | grep dist/ > /dev/null && echo 'true' || echo 'false'`" >> $GITHUB_OUTPUT
commit-and-push-fresh-dist:
name: Commit and push fresh distributive
needs: [dist-built]
if: ${{ needs.dist-built.outputs.dist-changed == 'true' }}
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with: {name: dist, path: ./dist/}
- uses: stefanzweifel/git-auto-commit-action@v5
with: {commit_message: Automatic distributive rebuild}
run-this-action:
name: Run action (${{ matrix.runs-on }})
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: ./
id: test1
with:
username: octocat
repository: octocat/Hello-World
- if: steps.test1.outputs.is-stargazer != 'true'
name: Should be skipped
run: exit 1
- uses: ./
id: test2
with:
username: octocat
#repository: <this repo>
- if: steps.test2.outputs.is-stargazer != 'false'
name: Should be skipped
run: exit 1