14 runs-on: ubuntu-latest
18 - "--with-embedded-libevent"
19 - "--disable-shared --enable-static"
20 - "--disable-privsep --with-snmp"
21 - "--with-snmp --disable-lldpmed --disable-dot1 --disable-dot3 --disable-custom"
33 config-args: "--without-snmp --with-xml"
35 - uses: actions/checkout@v4
38 - name: Unshallow repository
44 run: ./tests/ci/install.sh
45 - name: Build and run tests
46 run: ./tests/ci/run.sh
48 LLDPD_CONFIG_ARGS: ${{ matrix.config-args }}
49 LLDPD_RELEASE: ${{ matrix.release }}
50 CC: ${{ matrix.compiler }}
51 - name: Generate release body
53 run: ./tests/ci/release.sh build > ./release.md
54 - name: Upload release tarball
55 uses: actions/upload-artifact@v3
59 path: build/lldpd-*.tar.gz
60 if-no-files-found: error
61 - name: Upload release summary
62 uses: actions/upload-artifact@v3
67 if-no-files-found: error
74 - config-args: "--without-snmp --with-xml"
79 --sysconfdir=/private/etc
80 --with-embedded-libevent
85 - uses: actions/checkout@v4
89 run: ./tests/ci/install.sh
90 - name: Build and run tests
91 run: ./tests/ci/run.sh
93 LLDPD_CONFIG_ARGS: ${{ matrix.config-args }}
95 - name: Upload MacOS release package
96 uses: actions/upload-artifact@v3
100 path: build/lldpd-*.pkg
101 if-no-files-found: error
115 runs-on: ${{ matrix.os.runner }}
117 - uses: actions/checkout@v4
120 - name: Test on ${{ matrix.os.name }}
121 uses: cross-platform-actions/action@v0.19.0
123 operating_system: ${{ matrix.os.name }}
124 version: ${{ matrix.os.version }}
125 environment_variables: LLDPD_CONFIG_ARGS
129 ./tests/ci/install.sh
137 runs-on: ubuntu-latest
138 name: Build Docker images
139 if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')
141 - uses: actions/checkout@v4
142 - uses: docker/setup-qemu-action@v2
143 - uses: docker/setup-buildx-action@v2
144 - uses: docker/metadata-action@v4
150 type=schedule,pattern=master
151 type=ref,event=branch
152 type=semver,pattern={{version}}
153 type=semver,pattern={{major}}.{{minor}}
154 type=semver,pattern={{major}}
155 - uses: docker/login-action@v2
158 username: ${{ github.repository_owner }}
159 password: ${{ secrets.GITHUB_TOKEN }}
160 - uses: docker/build-push-action@v4
164 platforms: ${{ startsWith(github.ref, 'refs/tags/') && 'linux/amd64,linux/arm64,linux/arm/v6' || 'linux/amd64' }}
166 tags: ${{ steps.meta.outputs.tags }}
167 labels: ${{ steps.meta.outputs.labels }}
172 runs-on: ubuntu-latest
173 name: Publish release
174 if: startsWith(github.ref, 'refs/tags/')
176 - name: Download TGZ tarball
177 uses: actions/download-artifact@v3
180 - name: Download MacOS package
181 uses: actions/download-artifact@v3
184 - name: Download release text
185 uses: actions/download-artifact@v3
188 - name: Publish release
189 uses: softprops/action-gh-release@v1
191 body_path: release.md
197 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}