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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 # 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 - uses: actions/checkout@v4
19
20 - name: Use Node.js ${{ matrix.node-version }}
21 uses: actions/setup-node@v4
22 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 uses: codecov/[email protected]
60 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 - uses: actions/checkout@v4
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: Build with BlazeBuild
84 run: ./blazew build

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26