chore(deps-dev): bump the lint-tools group with 6 updates #2901
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: Node.js CI/CD | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
permissions: | |
actions: read | |
jobs: | |
lint: | |
name: Lint Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Use Node.js ${{ vars.NODE_VERSION }} | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: ${{ vars.NODE_VERSION }} | |
cache: npm | |
- name: Install Dependencies | |
run: npm ci --ignore-scripts | |
- name: ESLint | |
run: npm run lint:eslint | |
- name: Prettier | |
run: npm run lint:prettier | |
unit-test: | |
name: Unit Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Use Node.js ${{ vars.NODE_VERSION }} | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: ${{ vars.NODE_VERSION }} | |
cache: npm | |
- name: Install Dependencies | |
run: npm ci --ignore-scripts | |
- name: Unit Test | |
run: npm test -- --coverage | |
- name: Report Code Coverage to codecov | |
uses: codecov/codecov-action@v5.0.7 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Use Node.js ${{ vars.NODE_VERSION }} | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: ${{ vars.NODE_VERSION }} | |
cache: npm | |
- name: Install Dependencies | |
run: npm ci --ignore-scripts | |
- name: Build | |
run: npm run build | |
- name: Upload Action Assets | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: dist | |
path: dist | |
include-hidden-files: true | |
integration-test: | |
name: Integration Test | |
needs: [build] | |
environment: Develop # To use debug log (ACTIONS_STEP_DEBUG=true) | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- ubuntu-20.04 | |
- macos-14 | |
- macos-13 | |
- macos-12 | |
- windows-2022 | |
- windows-2019 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
with: | |
sparse-checkout: action.yml | |
sparse-checkout-cone-mode: false | |
- name: Download Action Assets | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: dist | |
path: dist | |
- name: Execute GitHub Action | |
id: act | |
uses: ./ | |
with: | |
contents: | | |
foo | |
bar | |
baz | |
weights: | | |
10 | |
10 | |
10 | |
- name: Echo Action outputs | |
env: | |
STEPS_CONTEXT: ${{ toJson(steps.act.outputs) }} | |
run: echo $STEPS_CONTEXT | |
diff: | |
name: Compare Build Assets | |
if: github.event_name == 'pull_request' | |
needs: [build] | |
permissions: | |
issues: write | |
pull-requests: write | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ vars.RELEASE_BRANCH }} | |
sparse-checkout: dist | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Use Node.js ${{ vars.NODE_VERSION }} | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: ${{ vars.NODE_VERSION }} | |
- name: Download Current Action Assets | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: dist | |
path: current | |
- name: Setup js-beautify to compare minified js files | |
run: | | |
npm install --global js-beautify | |
git config --local diff.minjs.textconv js-beautify | |
echo "index.js diff=minjs" > .gitattributes | |
- name: Compare | |
id: compare | |
continue-on-error: true | |
run: git diff --no-index --exit-code ./dist/ ./current/ | |
- name: Report Summary | |
if: steps.compare.outcome == 'failure' | |
continue-on-error: true | |
run: | | |
echo '# Compare ${{ github.sha }} to ${{ github.base_ref }}' >> $GITHUB_STEP_SUMMARY | |
echo '```diff' >> $GITHUB_STEP_SUMMARY | |
git diff --no-index ./dist/ ./current/ >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
- name: Report diff | |
if: steps.compare.outcome == 'failure' | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const message = 'There is a difference in the build results.' | |
core.warning(message) | |
await github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: `${message} [Show More](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})` | |
}) | |
deploy: | |
name: Deploy to Release branch | |
if: github.event_name == 'push' | |
needs: [build] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout Release Branch | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ vars.RELEASE_BRANCH }} | |
- name: Restore Documents from ${{ github.ref_name }} | |
run: | | |
git fetch --no-tags --depth=1 origin +${{ github.ref }}:refs/remotes/origin/${{ github.ref_name }} | |
git restore --source=origin/${{ github.ref_name }} -- *.md | |
git restore --source=origin/${{ github.ref_name }} -- LICENSE | |
git restore --source=origin/${{ github.ref_name }} -- action.yml | |
git restore --source=origin/${{ github.ref_name }} -- .github/workflows/release.yml | |
- name: Download Build Assets | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: dist | |
path: dist | |
- name: Commit and Push | |
continue-on-error: true | |
run: | | |
git config user.name ${{ vars.GH_ACTIONS_COMMIT_NAME }} | |
git config user.email ${{ vars.GH_ACTIONS_COMMIT_EMAIL }} | |
git add . | |
git commit -m "build: deploy via ${{ github.sha }}" | |
git push |