Skip to content

Pull request 75: AG-45259 Add build.txt artifact to build and deploym… #134

Pull request 75: AG-45259 Add build.txt artifact to build and deploym…

Pull request 75: AG-45259 Add build.txt artifact to build and deploym… #134

Workflow file for this run

name: Check code
env:
NODE_VERSION: 22
PNPM_VERSION: 10.7.1
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
check_code:
name: Run type checking, linting, and tests
runs-on: ubuntu-latest
steps:
- name: Check out to repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
run_install: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: List files
run: ls -alt
- name: Build shared library
run: pnpm --filter @vscode-adblock-syntax/shared build
- name: Check TypeScript types
run: pnpm test:compile
- name: Run markdownlint
run: pnpm lint:md
- name: Run ESLint
run: pnpm lint:code
- name: Run Vitest tests
run: pnpm test
- name: Build extension
run: pnpm build
- name: Package extension
run: pnpm package
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: vscode-adblock-build
path: |
out/vscode-adblock.vsix
syntaxes/out/adblock.plist
retention-days: 30
notify:
name: Send Slack notification on failure
needs: check_code
# Run this job only if the previous job failed and the event was triggered by the 'AdguardTeam/VscodeAdblockSyntax' repository
# Note: 'always()' is needed to run the notify job even if the test job was failed
if:
${{
always() &&
needs.check_code.result == 'failure' &&
github.repository == 'AdguardTeam/VscodeAdblockSyntax' &&
(
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' ||
github.event.pull_request.head.repo.full_name == github.repository
)
}}
runs-on: ubuntu-latest
steps:
- name: Send Slack notification
uses: 8398a7/action-slack@v3
with:
status: failure
fields: workflow, repo, message, commit, author, eventName, ref, job
job_name: check_code
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}