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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 616 - (hide annotations)
Thu Aug 29 12:36:37 2024 UTC (7 months ago) by rakinar2
File size: 2582 byte(s)
chore: sync with git

1 rakinar2 575 # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2     # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3    
4     name: Build
5    
6     on: [push, pull_request]
7    
8     jobs:
9     build:
10     strategy:
11     matrix:
12     node-version: [21.x, 22.x]
13     os: [ubuntu-latest, macos-latest, windows-latest]
14    
15     runs-on: ${{ matrix.os }}
16    
17     steps:
18 rakinar2 616 - uses: actions/checkout@v4
19 rakinar2 575
20     - name: Use Node.js ${{ matrix.node-version }}
21 rakinar2 616 uses: actions/setup-node@v4
22 rakinar2 575 with:
23     node-version: ${{ matrix.node-version }}
24    
25     - name: Install Libraries (Linux)
26     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    
29     - 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 rakinar2 616 uses: codecov/[email protected]
60 rakinar2 575 with:
61     token: ${{ secrets.CODECOV_TOKEN }}
62     slug: onesoft-sudo/sudobot
63    
64     blazebuild:
65     strategy:
66     matrix:
67     os: [ubuntu-latest, macos-latest, windows-latest]
68    
69     runs-on: ${{ matrix.os }}
70    
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 rakinar2 616 - uses: actions/checkout@v4
78 rakinar2 575
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: Build with BlazeBuild
84     run: ./blazew build

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26