/[sudobot]/trunk/.github/workflows/build.yml
ViewVC logotype

Diff of /trunk/.github/workflows/build.yml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 571 by rakin, Mon Jul 29 17:30:00 2024 UTC revision 572 by rakinar2, Mon Jul 29 17:51:37 2024 UTC
# Line 3  Line 3 
3    
4  name: Build  name: Build
5    
6  on: [ push, pull_request ]  on: [push, pull_request]
7    
8  jobs:  jobs:
9    build:    build:
   
     runs-on: ubuntu-latest  
   
10      strategy:      strategy:
11        matrix:        matrix:
12          node-version: [16.x, 18.x]          node-version: [21.x, 22.x]
13          # See supported Node.js release schedule at https://nodejs.org/en/about/releases/          os: [ubuntu-latest, macos-latest, windows-latest]
14    
15        runs-on: ${{ matrix.os }}
16    
17      steps:      steps:
18      - uses: actions/checkout@v3        - uses: actions/checkout@v3
19        
20      - name: Use Node.js ${{ matrix.node-version }}        - name: Use Node.js ${{ matrix.node-version }}
21        uses: actions/setup-node@v3          uses: actions/setup-node@v3
22        with:          with:
23          node-version: ${{ matrix.node-version }}            node-version: ${{ matrix.node-version }}
24        
25      - name: "Install Dependencies"        - name: Install Libraries (Linux)
26        run: npm install          run: sudo apt update && sudo apt install build-essential librsvg2-dev libgif-dev giflib-tools libcurl4 libcurl4-gnutls-dev libgtk-3-dev libpango1.0-dev libpng-dev libpng++-dev libpng-tools libjpeg-tools libjpeg-progs libjpeg-dev -y
27            if: matrix.os == 'ubuntu-latest'
28      - name: "Install Dev Dependencies"  
29        run: npm install --dev        - name: Install Libraries and Tools (macOS)
30            run: brew install curl pkg-config cairo pango libpng jpeg giflib librsvg
31            if: matrix.os == 'macos-latest'
32    
33          - name: "Install Native Libraries"
34            run: |
35              git clone https://github.com/Cogmasters/concord;
36              cd concord;
37              make;
38              sudo make install;
39              cd ..;
40            if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
41    
42          - name: "Install Dependencies"
43            run: npm install -D
44    
45          - name: "ESLint"
46            run: npm run lint -- --max-warnings=0
47    
48          - name: "Build (TypeScript)"
49            run: npm run build --if-present
50    
51          - name: "Build (Native)"
52            run: make
53            if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
54    
55          - name: "Test"
56            run: npx vitest run --coverage
57    
58          - name: Upload coverage reports to Codecov
59            uses: codecov/[email protected]
60            with:
61              token: ${{ secrets.CODECOV_TOKEN }}
62              slug: onesoft-sudo/sudobot
63    
64      - name: "ESLint"    blazebuild:
65        run: npm run lint || echo "ESLint Failed"      strategy:
66          matrix:
67            os: [ubuntu-latest, macos-latest, windows-latest]
68    
69      - name: "Build"      runs-on: ${{ matrix.os }}
70        run: npm run build --if-present  
71        steps:
72          - name: Set git to use LF
73            run: |
74              git config --global core.autocrlf false
75              git config --global core.eol lf
76    
77          - uses: actions/checkout@v3
78    
79          - name: Install tools on macOS
80            run: brew install curl pkg-config cairo pango libpng jpeg giflib librsvg
81            if: matrix.os == 'macos-latest'
82    
83      - name: "Run Test Suites"        - name: Build with BlazeBuild
84        run: npm run test --if-present          run: ./blazew build

Legend:
Removed from v.571  
changed lines
  Added in v.572

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26