14 os: [ubuntu-18.04, ubuntu-20.04]
15 compiler: [clang, gcc]
16 legacy_protocol: ["", --disable-legacy-protocol]
19 runs-on: ${{ matrix.os }}
21 CC: ${{ matrix.compiler }}
25 uses: actions/checkout@v2
27 - name: Install Artistic Style and build deps
29 sudo apt-get install -y --no-install-{recommends,suggests}
39 - name: Install OpenSSL
40 run: sudo apt-get install -y libssl-dev
41 if: ${{ matrix.legacy_protocol == '' }}
43 - name: Run autoreconf
46 - name: Run ./configure
49 --enable-{miniupnpc,uml,vde}
50 ${{ matrix.legacy_protocol }}
52 - name: Check code formatting
55 - name: Compile project
59 # root is required for some tests
60 run: sudo make check-recursive
63 - name: Upload test results
64 uses: actions/upload-artifact@v2
66 name: tests_${{ matrix.os }}_${{ matrix.compiler }}
67 path: test/test-suite.log
71 runs-on: windows-latest
75 uses: actions/checkout@v2
78 uses: msys2/setup-msys2@v2
81 # https://packages.msys2.org/package/
85 mingw-w64-x86_64-openssl
88 mingw-w64-x86_64-ncurses
89 mingw-w64-x86_64-miniupnpc
92 - name: Build the project
96 ./configure --with-curses-include=/mingw64/include/ncurses --disable-readline
99 - name: Check that tinc can be started
101 run: ./src/tinc --version
103 - name: Check that tincd can be started
105 run: ./src/tincd --version
108 if: startsWith(github.ref, 'refs/tags/release-')
113 os: ["ubuntu-18.04", ubuntu-20.04]
115 runs-on: ${{ matrix.os }}
118 - name: Checkout code
119 uses: actions/checkout@v2
121 - name: Install build deps
123 sudo apt-get install -y --no-install-{recommends,suggests}
132 - name: Run autoreconf
135 - name: Run ./configure
142 --with-systemd=/usr/lib/systemd/system
144 - name: Prepare debian directory
151 --packagename "tinc_$(git describe --tags --always | sed 's/release-//')-${{ matrix.os }}"
153 DEBFULLNAME: Automated Builds
155 - name: Build deb package
156 run: dpkg-buildpackage -d -us -uc
158 - name: Publish deb package
159 uses: softprops/action-gh-release@v1
164 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
170 - name: Checkout code
171 uses: actions/checkout@v2
173 - name: Install dependencies
174 run: brew install coreutils netcat automake lzo miniupnpc
176 - name: Run autoreconf
179 - name: Run ./configure
182 --with-openssl=/usr/local/opt/openssl@1.1
183 --enable-{tunemu,miniupnpc}
185 - name: Compile application
186 run: make -j$(sysctl -n hw.ncpu)
189 run: make check-recursive
192 - name: Upload test results
193 uses: actions/upload-artifact@v2
195 name: tests_${{ runner.os }}
196 path: test/test-suite.log